/***************************************************************************
 *   Copyright (C) 2003-2008 by                                            *
 *   Alberto Cuoci		                                                   *
 *   alberto.cuoci@polimi.it                                               *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#include "symbolickinetics/fluent_drm22_polimi_nox/OpenSMOKE_SymbolicKinetics_Fluent_DRM22_Polimi_NOX.h"

void OpenSMOKE_SymbolicKinetics_Fluent_DRM22_Polimi_NOX::giveJacobian(BzzVector &c, BzzMatrix &J) 
{
		// ============================================================ 
	// ===== DERIVATIVES FOR FALLOFF REACTIONS ==================== 
	// ============================================================ 
	dCFOdM33 =	coeffFallOff33*coeffFallOff33/BzzPow2(coeffFallOff33+k33*coeffM33); 
	dCFOdM34 =	coeffFallOff34*coeffFallOff34/BzzPow2(coeffFallOff34+k34*coeffM34); 
	dCFOdM36 =	coeffFallOff36*coeffFallOff36/BzzPow2(coeffFallOff36+k36*coeffM36); 
	dCFOdM38 =	coeffFallOff38*coeffFallOff38/BzzPow2(coeffFallOff38+k38*coeffM38); 
	dCFOdM41 =	coeffFallOff41*coeffFallOff41/BzzPow2(coeffFallOff41+k41*coeffM41); 
	dCFOdM42 =	coeffFallOff42*coeffFallOff42/BzzPow2(coeffFallOff42+k42*coeffM42); 
	dCFOdM44 =	coeffFallOff44*coeffFallOff44/BzzPow2(coeffFallOff44+k44*coeffM44); 
	dCFOdM46 =	coeffFallOff46*coeffFallOff46/BzzPow2(coeffFallOff46+k46*coeffM46); 
	dCFOdM48 =	coeffFallOff48*coeffFallOff48/BzzPow2(coeffFallOff48+k48*coeffM48); 
	dCFOdM50 =	coeffFallOff50*coeffFallOff50/BzzPow2(coeffFallOff50+k50*coeffM50); 
	dCFOdM90 =	coeffFallOff90*coeffFallOff90/BzzPow2(coeffFallOff90+k90*coeffM90); 
	dCFOdM101 =	coeffFallOff101*coeffFallOff101/BzzPow2(coeffFallOff101+k101*coeffM101); 
	dCFOdM152 =	coeffFallOff152*coeffFallOff152/BzzPow2(coeffFallOff152+k152*coeffM152); 


	if (iAccurateJacobian == 1)
	{
		double num33 = -0.40  + 0.43429448*lnPr33-0.670000*logFcent33; 
		double den33 =  0.806 - 0.0608012 *lnPr33-1.176199*logFcent33; 
		dwFdM33 = -2.30258509299 * wF33 * logFcent33 * num33/(coeffM33 * den33*den33) * (0.86858896+0.12160240*num33/den33) / BzzPow2(1+BzzPow2(num33/den33)); 

		double num34 = -0.40  + 0.43429448*lnPr34-0.670000*logFcent34; 
		double den34 =  0.806 - 0.0608012 *lnPr34-1.176199*logFcent34; 
		dwFdM34 = -2.30258509299 * wF34 * logFcent34 * num34/(coeffM34 * den34*den34) * (0.86858896+0.12160240*num34/den34) / BzzPow2(1+BzzPow2(num34/den34)); 

		double num36 = -0.40  + 0.43429448*lnPr36-0.670000*logFcent36; 
		double den36 =  0.806 - 0.0608012 *lnPr36-1.176199*logFcent36; 
		dwFdM36 = -2.30258509299 * wF36 * logFcent36 * num36/(coeffM36 * den36*den36) * (0.86858896+0.12160240*num36/den36) / BzzPow2(1+BzzPow2(num36/den36)); 

		double num38 = -0.40  + 0.43429448*lnPr38-0.670000*logFcent38; 
		double den38 =  0.806 - 0.0608012 *lnPr38-1.176199*logFcent38; 
		dwFdM38 = -2.30258509299 * wF38 * logFcent38 * num38/(coeffM38 * den38*den38) * (0.86858896+0.12160240*num38/den38) / BzzPow2(1+BzzPow2(num38/den38)); 

		double num41 = -0.40  + 0.43429448*lnPr41-0.670000*logFcent41; 
		double den41 =  0.806 - 0.0608012 *lnPr41-1.176199*logFcent41; 
		dwFdM41 = -2.30258509299 * wF41 * logFcent41 * num41/(coeffM41 * den41*den41) * (0.86858896+0.12160240*num41/den41) / BzzPow2(1+BzzPow2(num41/den41)); 

		double num42 = -0.40  + 0.43429448*lnPr42-0.670000*logFcent42; 
		double den42 =  0.806 - 0.0608012 *lnPr42-1.176199*logFcent42; 
		dwFdM42 = -2.30258509299 * wF42 * logFcent42 * num42/(coeffM42 * den42*den42) * (0.86858896+0.12160240*num42/den42) / BzzPow2(1+BzzPow2(num42/den42)); 

		double num44 = -0.40  + 0.43429448*lnPr44-0.670000*logFcent44; 
		double den44 =  0.806 - 0.0608012 *lnPr44-1.176199*logFcent44; 
		dwFdM44 = -2.30258509299 * wF44 * logFcent44 * num44/(coeffM44 * den44*den44) * (0.86858896+0.12160240*num44/den44) / BzzPow2(1+BzzPow2(num44/den44)); 

		double num46 = -0.40  + 0.43429448*lnPr46-0.670000*logFcent46; 
		double den46 =  0.806 - 0.0608012 *lnPr46-1.176199*logFcent46; 
		dwFdM46 = -2.30258509299 * wF46 * logFcent46 * num46/(coeffM46 * den46*den46) * (0.86858896+0.12160240*num46/den46) / BzzPow2(1+BzzPow2(num46/den46)); 

		double num48 = -0.40  + 0.43429448*lnPr48-0.670000*logFcent48; 
		double den48 =  0.806 - 0.0608012 *lnPr48-1.176199*logFcent48; 
		dwFdM48 = -2.30258509299 * wF48 * logFcent48 * num48/(coeffM48 * den48*den48) * (0.86858896+0.12160240*num48/den48) / BzzPow2(1+BzzPow2(num48/den48)); 

		double num50 = -0.40  + 0.43429448*lnPr50-0.670000*logFcent50; 
		double den50 =  0.806 - 0.0608012 *lnPr50-1.176199*logFcent50; 
		dwFdM50 = -2.30258509299 * wF50 * logFcent50 * num50/(coeffM50 * den50*den50) * (0.86858896+0.12160240*num50/den50) / BzzPow2(1+BzzPow2(num50/den50)); 

		double num90 = -0.40  + 0.43429448*lnPr90-0.670000*logFcent90; 
		double den90 =  0.806 - 0.0608012 *lnPr90-1.176199*logFcent90; 
		dwFdM90 = -2.30258509299 * wF90 * logFcent90 * num90/(coeffM90 * den90*den90) * (0.86858896+0.12160240*num90/den90) / BzzPow2(1+BzzPow2(num90/den90)); 

		double num101 = -0.40  + 0.43429448*lnPr101-0.670000*logFcent101; 
		double den101 =  0.806 - 0.0608012 *lnPr101-1.176199*logFcent101; 
		dwFdM101 = -2.30258509299 * wF101 * logFcent101 * num101/(coeffM101 * den101*den101) * (0.86858896+0.12160240*num101/den101) / BzzPow2(1+BzzPow2(num101/den101)); 

		dwFdM152 = 0.; 
	}
	else
	{
		dwFdM33 = 0.; 
		dwFdM34 = 0.; 
		dwFdM36 = 0.; 
		dwFdM38 = 0.; 
		dwFdM41 = 0.; 
		dwFdM42 = 0.; 
		dwFdM44 = 0.; 
		dwFdM46 = 0.; 
		dwFdM48 = 0.; 
		dwFdM50 = 0.; 
		dwFdM90 = 0.; 
		dwFdM101 = 0.; 
		dwFdM152 = 0.; 
	}


	// ============================================================ 
	// ===== DERIVATIVES FOR EVERY REACTION ======================= 
	// ============================================================ 
	d1d1 = 	   rFlat1*2.0;
	d1d2 = 	   rFlat1*1.5;
	d1d3 = 	   rFlat1*2.0;
	d1d4 = 	   rFlat1*6.0;
	d1d5 = 	   rFlat1*1.0;
	d1d6 = 	   rFlat1*1.0-coeffM1*k1*uK1;
	d1d7 = 	   rFlat1*1.0;
	d1d8 = 	   rFlat1*1.0;
	d1d9 = 	   rFlat1*1.0;
	d1d10 = 	   rFlat1*1.0;
	d1d11 = 	   rFlat1*2.0;
	d1d12 = 	   rFlat1*1.0+c[13]*coeffM1*k1;
	d1d13 = 	   rFlat1*1.0+c[12]*coeffM1*k1;
	d1d14 = 	   rFlat1*1.0;
	d1d15 = 	   rFlat1*1.0;
	d1d16 = 	   rFlat1*1.0;
	d1d17 = 	   rFlat1*1.0;
	d1d18 = 	   rFlat1*1.0;
	d1d19 = 	   rFlat1*3.0;
	d1d20 = 	   rFlat1*1.0;
	d1d21 = 	   rFlat1*1.0;
	d1d22 = 	   rFlat1*1.0;
	d1d23 = 	   rFlat1*1.0;
	d1d24 = 	   rFlat1*1.0;
	d1d25 = 	   rFlat1*1.0;
	d1d26 = 	   rFlat1*1.0;
	d1d27 = 	   rFlat1*1.0;
	d1d28 = 	   rFlat1*1.0;
	d1d29 = 	   rFlat1*1.0;
	d1d30 = 	   rFlat1*1.0;
	d1d31 = 	   rFlat1*1.0;
	d1d32 = 	   rFlat1*1.0;
	d1d33 = 	   rFlat1*1.0;
	d1d34 = 	   rFlat1*1.0;
	d1d35 = 	   rFlat1*1.0;

	d2d6 = 	   -c[12]*k2*uK2;
	d2d11 = 	   c[13]*k2;
	d2d12 = 	   -c[6]*k2*uK2;
	d2d13 = 	   c[11]*k2;

	d3d5 = 	   -c[6]*k3*uK3;
	d3d6 = 	   -c[5]*k3*uK3;
	d3d7 = 	   c[13]*k3;
	d3d13 = 	   c[7]*k3;

	d4d2 = 	   -(c[12]*c[12])*k4*uK4;
	d4d8 = 	   c[13]*k4;
	d4d12 = 	   c[12]*c[2]*k4*uK4*-2.0;
	d4d13 = 	   c[8]*k4;

	d5d2 = 	   -c[11]*k5*uK5;
	d5d8 = 	   c[13]*k5;
	d5d11 = 	   -c[2]*k5*uK5;
	d5d13 = 	   c[8]*k5;

	d6d9 = 	   c[13]*k6;
	d6d12 = 	   -c[14]*k6*uK6;
	d6d13 = 	   c[9]*k6;
	d6d14 = 	   -c[12]*k6*uK6;

	d7d10 = 	   c[13]*k7;
	d7d12 = 	   -c[15]*k7*uK7;
	d7d13 = 	   c[10]*k7;
	d7d15 = 	   -c[12]*k7*uK7;

	d8d1 = 	   c[13]*k8;
	d8d6 = 	   -c[10]*k8*uK8;
	d8d10 = 	   -c[6]*k8*uK8;
	d8d13 = 	   c[1]*k8;

	d9d1 = 	   rFlat9*2.0;
	d9d2 = 	   rFlat9*1.5+c[13]*coeffM9*k9;
	d9d3 = 	   rFlat9*3.5-coeffM9*k9*uK9;
	d9d4 = 	   rFlat9*6.0;
	d9d5 = 	   rFlat9*6.0;
	d9d6 = 	   rFlat9*1.0;
	d9d7 = 	   rFlat9*1.0;
	d9d8 = 	   rFlat9*1.0;
	d9d9 = 	   rFlat9*1.0;
	d9d10 = 	   rFlat9*1.0;
	d9d11 = 	   rFlat9*2.0;
	d9d12 = 	   rFlat9*1.0;
	d9d13 = 	   rFlat9*1.0+c[2]*coeffM9*k9;
	d9d14 = 	   rFlat9*1.0;
	d9d15 = 	   rFlat9*1.0;
	d9d16 = 	   rFlat9*1.0;
	d9d17 = 	   rFlat9*1.0;
	d9d18 = 	   rFlat9*1.0;
	d9d19 = 	   rFlat9*3.0;
	d9d20 = 	   rFlat9*1.0;
	d9d21 = 	   rFlat9*1.0;
	d9d22 = 	   rFlat9*1.0;
	d9d23 = 	   rFlat9*1.0;
	d9d24 = 	   rFlat9*1.0;
	d9d25 = 	   rFlat9*1.0;
	d9d26 = 	   rFlat9*1.0;
	d9d27 = 	   rFlat9*1.0;
	d9d28 = 	   rFlat9*1.0;
	d9d29 = 	   rFlat9*1.0;
	d9d30 = 	   rFlat9*1.0;
	d9d31 = 	   rFlat9*1.0;
	d9d32 = 	   rFlat9*1.0;
	d9d33 = 	   rFlat9*1.0;
	d9d34 = 	   rFlat9*1.0;
	d9d35 = 	   rFlat9*1.0;

	d10d2 = 	   -c[6]*k10*uK10;
	d10d6 = 	   -c[2]*k10*uK10;
	d10d13 = 	   c[14]*k10;
	d10d14 = 	   c[13]*k10;

	d11d3 = 	   -c[12]*k11*uK11;
	d11d12 = 	   -c[3]*k11*uK11;
	d11d13 = 	   c[14]*k11;
	d11d14 = 	   c[13]*k11;

	d12d6 = 	   -c[14]*k12*uK12;
	d12d13 = 	   c[15]*k12;
	d12d14 = 	   -c[6]*k12*uK12;
	d12d15 = 	   c[13]*k12;

	d13d2 = 	   -c[9]*k13*uK13;
	d13d9 = 	   -c[2]*k13*uK13;
	d13d13 = 	   c[21]*k13;
	d13d21 = 	   c[13]*k13;

	d14d2 = 	   -c[8]*k14*uK14;
	d14d8 = 	   -c[2]*k14*uK14;
	d14d13 = 	   c[21]*k14;
	d14d21 = 	   c[13]*k14;

	d15d10 = 	   -c[14]*k15*uK15;
	d15d13 = 	   c[17]*k15;
	d15d14 = 	   -c[10]*k15*uK15;
	d15d17 = 	   c[13]*k15;

	d16d10 = 	   -c[15]*k16*uK16;
	d16d13 = 	   c[18]*k16;
	d16d15 = 	   -c[10]*k16*uK16;
	d16d18 = 	   c[13]*k16;

	d17d6 = 	   -c[18]*k17*uK17;
	d17d13 = 	   c[19]*k17;
	d17d18 = 	   -c[6]*k17*uK17;
	d17d19 = 	   c[13]*k17;

	d18d2 = 	   c[5]*k18;
	d18d3 = 	   -c[13]*k18*uK18;
	d18d5 = 	   c[2]*k18;
	d18d13 = 	   -c[3]*k18*uK18;

	d19d5 = 	   c[15]*k19;
	d19d7 = 	   -c[14]*k19*uK19;
	d19d14 = 	   -c[7]*k19*uK19;
	d19d15 = 	   c[5]*k19;

	d20d1 = 	   rFlat20*1.0;
	d20d2 = 	   rFlat20*7.5E-1;
	d20d3 = 	   rFlat20*1.5;
	d20d5 = 	   c[12]*coeffM20*k20;
	d20d6 = 	   rFlat20*1.0;
	d20d7 = 	   rFlat20*1.0-coeffM20*k20*uK20;
	d20d8 = 	   rFlat20*1.0;
	d20d9 = 	   rFlat20*1.0;
	d20d10 = 	   rFlat20*1.0;
	d20d11 = 	   rFlat20*1.0;
	d20d12 = 	   rFlat20*1.0+c[5]*coeffM20*k20;
	d20d13 = 	   rFlat20*1.0;
	d20d14 = 	   rFlat20*1.0;
	d20d15 = 	   rFlat20*1.0;
	d20d16 = 	   rFlat20*1.0;
	d20d17 = 	   rFlat20*1.0;
	d20d18 = 	   rFlat20*1.0;
	d20d19 = 	   rFlat20*1.5;
	d20d20 = 	   rFlat20*1.0;
	d20d21 = 	   rFlat20*1.0;
	d20d22 = 	   rFlat20*1.0;
	d20d23 = 	   rFlat20*1.0;
	d20d25 = 	   rFlat20*1.0;
	d20d26 = 	   rFlat20*1.0;
	d20d27 = 	   rFlat20*1.0;
	d20d28 = 	   rFlat20*1.0;
	d20d29 = 	   rFlat20*1.0;
	d20d30 = 	   rFlat20*1.0;
	d20d31 = 	   rFlat20*1.0;
	d20d32 = 	   rFlat20*1.0;
	d20d33 = 	   rFlat20*1.0;
	d20d34 = 	   rFlat20*1.0;
	d20d35 = 	   rFlat20*1.0;

	d21d5 = 	   k21*(c[12]*c[5]*2.0-c[7]*uK21);
	d21d7 = 	   -c[5]*k21*uK21;
	d21d12 = 	   (c[5]*c[5])*k21;

	d22d4 = 	   k22*(c[12]*c[5]-c[7]*uK22);
	d22d5 = 	   c[12]*c[4]*k22;
	d22d7 = 	   -c[4]*k22*uK22;
	d22d12 = 	   c[4]*c[5]*k22;

	d23d5 = 	   c[12]*c[24]*k23;
	d23d7 = 	   -c[24]*k23*uK23;
	d23d12 = 	   c[24]*c[5]*k23;
	d23d24 = 	   k23*(c[12]*c[5]-c[7]*uK23);

	d24d5 = 	   c[12]*k24;
	d24d6 = 	   -c[13]*k24*uK24;
	d24d12 = 	   c[5]*k24;
	d24d13 = 	   -c[6]*k24*uK24;

	d25d1 = 	   rFlat25*2.0;
	d25d2 = 	   rFlat25*1.0;
	d25d5 = 	   rFlat25*1.0;
	d25d6 = 	   rFlat25*1.0;
	d25d7 = 	   rFlat25*1.0;
	d25d8 = 	   rFlat25*1.0;
	d25d9 = 	   rFlat25*1.0;
	d25d10 = 	   rFlat25*1.0;
	d25d11 = 	   -coeffM25*k25*uK25;
	d25d12 = 	   rFlat25*1.0+c[12]*coeffM25*k25*2.0;
	d25d13 = 	   rFlat25*1.0;
	d25d14 = 	   rFlat25*1.0;
	d25d15 = 	   rFlat25*1.0;
	d25d16 = 	   rFlat25*1.0;
	d25d17 = 	   rFlat25*1.0;
	d25d18 = 	   rFlat25*1.0;
	d25d19 = 	   rFlat25*3.0;
	d25d20 = 	   rFlat25*1.0;
	d25d21 = 	   rFlat25*1.0;
	d25d22 = 	   rFlat25*1.0;
	d25d23 = 	   rFlat25*1.0;
	d25d24 = 	   rFlat25*1.0;
	d25d25 = 	   rFlat25*1.0;
	d25d26 = 	   rFlat25*1.0;
	d25d27 = 	   rFlat25*1.0;
	d25d28 = 	   rFlat25*1.0;
	d25d29 = 	   rFlat25*1.0;
	d25d30 = 	   rFlat25*1.0;
	d25d31 = 	   rFlat25*1.0;
	d25d32 = 	   rFlat25*1.0;
	d25d33 = 	   rFlat25*1.0;
	d25d34 = 	   rFlat25*1.0;
	d25d35 = 	   rFlat25*1.0;

	d26d11 = 	   -k26*(c[11]*uK26*2.0-c[12]*c[12]);
	d26d12 = 	   c[11]*c[12]*k26*2.0;

	d27d4 = 	   -k27*(c[11]*uK27-c[12]*c[12]);
	d27d11 = 	   -c[4]*k27*uK27;
	d27d12 = 	   c[12]*c[4]*k27*2.0;

	d28d3 = 	   -k28*(c[11]*uK28-c[12]*c[12]);
	d28d11 = 	   -c[3]*k28*uK28;
	d28d12 = 	   c[12]*c[3]*k28*2.0;

	d29d1 = 	   rFlat29*2.0;
	d29d2 = 	   rFlat29*1.0;
	d29d3 = 	   rFlat29*1.0;
	d29d4 = 	   rFlat29*3.65-coeffM29*k29*uK29;
	d29d5 = 	   rFlat29*1.0;
	d29d6 = 	   rFlat29*1.0+c[12]*coeffM29*k29;
	d29d7 = 	   rFlat29*1.0;
	d29d8 = 	   rFlat29*1.0;
	d29d9 = 	   rFlat29*1.0;
	d29d10 = 	   rFlat29*1.0;
	d29d11 = 	   rFlat29*7.3E-1;
	d29d12 = 	   rFlat29*1.0+c[6]*coeffM29*k29;
	d29d13 = 	   rFlat29*1.0;
	d29d14 = 	   rFlat29*1.0;
	d29d15 = 	   rFlat29*1.0;
	d29d16 = 	   rFlat29*1.0;
	d29d17 = 	   rFlat29*1.0;
	d29d18 = 	   rFlat29*1.0;
	d29d19 = 	   rFlat29*3.0;
	d29d20 = 	   rFlat29*1.0;
	d29d21 = 	   rFlat29*1.0;
	d29d22 = 	   rFlat29*1.0;
	d29d23 = 	   rFlat29*1.0;
	d29d24 = 	   rFlat29*1.0;
	d29d25 = 	   rFlat29*1.0;
	d29d26 = 	   rFlat29*1.0;
	d29d27 = 	   rFlat29*1.0;
	d29d28 = 	   rFlat29*1.0;
	d29d29 = 	   rFlat29*1.0;
	d29d30 = 	   rFlat29*1.0;
	d29d31 = 	   rFlat29*1.0;
	d29d32 = 	   rFlat29*1.0;
	d29d33 = 	   rFlat29*1.0;
	d29d34 = 	   rFlat29*1.0;
	d29d35 = 	   rFlat29*1.0;

	d30d5 = 	   -c[11]*k30*uK30;
	d30d7 = 	   c[12]*k30;
	d30d11 = 	   -c[5]*k30*uK30;
	d30d12 = 	   c[7]*k30;

	d31d6 = 	   c[6]*k31*uK31*-2.0;
	d31d7 = 	   c[12]*k31;
	d31d12 = 	   c[7]*k31;

	d32d7 = 	   -c[11]*k32*uK32;
	d32d11 = 	   -c[7]*k32*uK32;
	d32d12 = 	   c[20]*k32;
	d32d20 = 	   c[12]*k32;

	sigma33 =	   CFO33*dwFdM33+dCFOdM33*wF33;
	d33d1 = 	   rFlat33*sigma33*2.0;
	d33d2 = 	   rFlat33*sigma33*1.5;
	d33d3 = 	   rFlat33*sigma33*2.0;
	d33d4 = 	   rFlat33*sigma33*6.0;
	d33d5 = 	   rFlat33*sigma33*1.0;
	d33d6 = 	   rFlat33*sigma33*1.0;
	d33d7 = 	   rFlat33*sigma33*1.0;
	d33d8 = 	   rFlat33*sigma33*1.0+c[12]*coeffFallOff33*k33;
	d33d9 = 	   rFlat33*sigma33*1.0;
	d33d10 = 	   rFlat33*sigma33*1.0-coeffFallOff33*k33*uK33;
	d33d11 = 	   rFlat33*sigma33*2.0;
	d33d12 = 	   rFlat33*sigma33*1.0+c[8]*coeffFallOff33*k33;
	d33d13 = 	   rFlat33*sigma33*1.0;
	d33d14 = 	   rFlat33*sigma33*1.0;
	d33d15 = 	   rFlat33*sigma33*1.0;
	d33d16 = 	   rFlat33*sigma33*1.0;
	d33d17 = 	   rFlat33*sigma33*1.0;
	d33d18 = 	   rFlat33*sigma33*1.0;
	d33d19 = 	   rFlat33*sigma33*3.0;
	d33d20 = 	   rFlat33*sigma33*1.0;
	d33d21 = 	   rFlat33*sigma33*1.0;
	d33d22 = 	   rFlat33*sigma33*1.0;
	d33d23 = 	   rFlat33*sigma33*1.0;
	d33d24 = 	   rFlat33*sigma33*1.0;
	d33d25 = 	   rFlat33*sigma33*1.0;
	d33d26 = 	   rFlat33*sigma33*1.0;
	d33d27 = 	   rFlat33*sigma33*1.0;
	d33d28 = 	   rFlat33*sigma33*1.0;
	d33d29 = 	   rFlat33*sigma33*1.0;
	d33d30 = 	   rFlat33*sigma33*1.0;
	d33d31 = 	   rFlat33*sigma33*1.0;
	d33d32 = 	   rFlat33*sigma33*1.0;
	d33d33 = 	   rFlat33*sigma33*1.0;
	d33d34 = 	   rFlat33*sigma33*1.0;
	d33d35 = 	   rFlat33*sigma33*1.0;

	sigma34 =	   CFO34*dwFdM34+dCFOdM34*wF34;
	d34d1 = 	   rFlat34*sigma34*2.0-coeffFallOff34*k34*uK34;
	d34d2 = 	   rFlat34*sigma34*1.5;
	d34d3 = 	   rFlat34*sigma34*2.0;
	d34d4 = 	   rFlat34*sigma34*6.0;
	d34d5 = 	   rFlat34*sigma34*1.0;
	d34d6 = 	   rFlat34*sigma34*1.0;
	d34d7 = 	   rFlat34*sigma34*1.0;
	d34d8 = 	   rFlat34*sigma34*1.0;
	d34d9 = 	   rFlat34*sigma34*1.0;
	d34d10 = 	   rFlat34*sigma34*1.0+c[12]*coeffFallOff34*k34;
	d34d11 = 	   rFlat34*sigma34*2.0;
	d34d12 = 	   rFlat34*sigma34*1.0+c[10]*coeffFallOff34*k34;
	d34d13 = 	   rFlat34*sigma34*1.0;
	d34d14 = 	   rFlat34*sigma34*1.0;
	d34d15 = 	   rFlat34*sigma34*1.0;
	d34d16 = 	   rFlat34*sigma34*1.0;
	d34d17 = 	   rFlat34*sigma34*1.0;
	d34d18 = 	   rFlat34*sigma34*1.0;
	d34d19 = 	   rFlat34*sigma34*3.0;
	d34d20 = 	   rFlat34*sigma34*1.0;
	d34d21 = 	   rFlat34*sigma34*1.0;
	d34d22 = 	   rFlat34*sigma34*1.0;
	d34d23 = 	   rFlat34*sigma34*1.0;
	d34d24 = 	   rFlat34*sigma34*1.0;
	d34d25 = 	   rFlat34*sigma34*1.0;
	d34d26 = 	   rFlat34*sigma34*1.0;
	d34d27 = 	   rFlat34*sigma34*1.0;
	d34d28 = 	   rFlat34*sigma34*1.0;
	d34d29 = 	   rFlat34*sigma34*1.0;
	d34d30 = 	   rFlat34*sigma34*1.0;
	d34d31 = 	   rFlat34*sigma34*1.0;
	d34d32 = 	   rFlat34*sigma34*1.0;
	d34d33 = 	   rFlat34*sigma34*1.0;
	d34d34 = 	   rFlat34*sigma34*1.0;
	d34d35 = 	   rFlat34*sigma34*1.0;

	d35d1 = 	   c[12]*k35;
	d35d10 = 	   -c[11]*k35*uK35;
	d35d11 = 	   -c[10]*k35*uK35;
	d35d12 = 	   c[1]*k35;

	sigma36 =	   CFO36*dwFdM36+dCFOdM36*wF36;
	d36d1 = 	   rFlat36*sigma36*2.0;
	d36d2 = 	   rFlat36*sigma36*1.5;
	d36d3 = 	   rFlat36*sigma36*2.0;
	d36d4 = 	   rFlat36*sigma36*6.0;
	d36d5 = 	   rFlat36*sigma36*1.0;
	d36d6 = 	   rFlat36*sigma36*1.0;
	d36d7 = 	   rFlat36*sigma36*1.0;
	d36d8 = 	   rFlat36*sigma36*1.0;
	d36d9 = 	   rFlat36*sigma36*1.0;
	d36d10 = 	   rFlat36*sigma36*1.0;
	d36d11 = 	   rFlat36*sigma36*2.0;
	d36d12 = 	   rFlat36*sigma36*1.0+c[14]*coeffFallOff36*k36;
	d36d13 = 	   rFlat36*sigma36*1.0;
	d36d14 = 	   rFlat36*sigma36*1.0+c[12]*coeffFallOff36*k36;
	d36d15 = 	   rFlat36*sigma36*1.0-coeffFallOff36*k36*uK36;
	d36d16 = 	   rFlat36*sigma36*1.0;
	d36d17 = 	   rFlat36*sigma36*1.0;
	d36d18 = 	   rFlat36*sigma36*1.0;
	d36d19 = 	   rFlat36*sigma36*3.0;
	d36d20 = 	   rFlat36*sigma36*1.0;
	d36d21 = 	   rFlat36*sigma36*1.0;
	d36d22 = 	   rFlat36*sigma36*1.0;
	d36d23 = 	   rFlat36*sigma36*1.0;
	d36d24 = 	   rFlat36*sigma36*1.0;
	d36d25 = 	   rFlat36*sigma36*1.0;
	d36d26 = 	   rFlat36*sigma36*1.0;
	d36d27 = 	   rFlat36*sigma36*1.0;
	d36d28 = 	   rFlat36*sigma36*1.0;
	d36d29 = 	   rFlat36*sigma36*1.0;
	d36d30 = 	   rFlat36*sigma36*1.0;
	d36d31 = 	   rFlat36*sigma36*1.0;
	d36d32 = 	   rFlat36*sigma36*1.0;
	d36d33 = 	   rFlat36*sigma36*1.0;
	d36d34 = 	   rFlat36*sigma36*1.0;
	d36d35 = 	   rFlat36*sigma36*1.0;

	d37d2 = 	   -c[11]*k37*uK37;
	d37d11 = 	   -c[2]*k37*uK37;
	d37d12 = 	   c[14]*k37;
	d37d14 = 	   c[12]*k37;

	sigma38 =	   CFO38*dwFdM38+dCFOdM38*wF38;
	d38d1 = 	   rFlat38*sigma38*2.0;
	d38d2 = 	   rFlat38*sigma38*1.5;
	d38d3 = 	   rFlat38*sigma38*2.0;
	d38d4 = 	   rFlat38*sigma38*6.0;
	d38d5 = 	   rFlat38*sigma38*1.0;
	d38d6 = 	   rFlat38*sigma38*1.0;
	d38d7 = 	   rFlat38*sigma38*1.0;
	d38d8 = 	   rFlat38*sigma38*1.0;
	d38d9 = 	   rFlat38*sigma38*1.0;
	d38d10 = 	   rFlat38*sigma38*1.0;
	d38d11 = 	   rFlat38*sigma38*2.0;
	d38d12 = 	   rFlat38*sigma38*1.0+c[15]*coeffFallOff38*k38;
	d38d13 = 	   rFlat38*sigma38*1.0;
	d38d14 = 	   rFlat38*sigma38*1.0;
	d38d15 = 	   rFlat38*sigma38*1.0+c[12]*coeffFallOff38*k38;
	d38d16 = 	   rFlat38*sigma38*1.0-coeffFallOff38*k38*uK38;
	d38d17 = 	   rFlat38*sigma38*1.0;
	d38d18 = 	   rFlat38*sigma38*1.0;
	d38d19 = 	   rFlat38*sigma38*3.0;
	d38d20 = 	   rFlat38*sigma38*1.0;
	d38d21 = 	   rFlat38*sigma38*1.0;
	d38d22 = 	   rFlat38*sigma38*1.0;
	d38d23 = 	   rFlat38*sigma38*1.0;
	d38d24 = 	   rFlat38*sigma38*1.0;
	d38d25 = 	   rFlat38*sigma38*1.0;
	d38d26 = 	   rFlat38*sigma38*1.0;
	d38d27 = 	   rFlat38*sigma38*1.0;
	d38d28 = 	   rFlat38*sigma38*1.0;
	d38d29 = 	   rFlat38*sigma38*1.0;
	d38d30 = 	   rFlat38*sigma38*1.0;
	d38d31 = 	   rFlat38*sigma38*1.0;
	d38d32 = 	   rFlat38*sigma38*1.0;
	d38d33 = 	   rFlat38*sigma38*1.0;
	d38d34 = 	   rFlat38*sigma38*1.0;
	d38d35 = 	   rFlat38*sigma38*1.0;

	d39d11 = 	   -c[14]*k39*uK39;
	d39d12 = 	   c[15]*k39;
	d39d14 = 	   -c[11]*k39*uK39;
	d39d15 = 	   c[12]*k39;

	d40d6 = 	   -c[10]*k40*uK40;
	d40d10 = 	   -c[6]*k40*uK40;
	d40d12 = 	   c[16]*k40;
	d40d16 = 	   c[12]*k40;

	sigma41 =	   CFO41*dwFdM41+dCFOdM41*wF41;
	d41d1 = 	   rFlat41*sigma41*2.0;
	d41d2 = 	   rFlat41*sigma41*1.5;
	d41d3 = 	   rFlat41*sigma41*2.0;
	d41d4 = 	   rFlat41*sigma41*6.0;
	d41d5 = 	   rFlat41*sigma41*1.0;
	d41d6 = 	   rFlat41*sigma41*1.0;
	d41d7 = 	   rFlat41*sigma41*1.0;
	d41d8 = 	   rFlat41*sigma41*1.0;
	d41d9 = 	   rFlat41*sigma41*1.0;
	d41d10 = 	   rFlat41*sigma41*1.0;
	d41d11 = 	   rFlat41*sigma41*2.0;
	d41d12 = 	   rFlat41*sigma41*1.0+c[21]*coeffFallOff41*k41;
	d41d13 = 	   rFlat41*sigma41*1.0;
	d41d14 = 	   rFlat41*sigma41*1.0;
	d41d15 = 	   rFlat41*sigma41*1.0;
	d41d16 = 	   rFlat41*sigma41*1.0;
	d41d17 = 	   rFlat41*sigma41*1.0;
	d41d18 = 	   rFlat41*sigma41*1.0;
	d41d19 = 	   rFlat41*sigma41*3.0;
	d41d20 = 	   rFlat41*sigma41*1.0;
	d41d21 = 	   rFlat41*sigma41*1.0+c[12]*coeffFallOff41*k41;
	d41d22 = 	   rFlat41*sigma41*1.0-coeffFallOff41*k41*uK41;
	d41d23 = 	   rFlat41*sigma41*1.0;
	d41d24 = 	   rFlat41*sigma41*1.0;
	d41d25 = 	   rFlat41*sigma41*1.0;
	d41d26 = 	   rFlat41*sigma41*1.0;
	d41d27 = 	   rFlat41*sigma41*1.0;
	d41d28 = 	   rFlat41*sigma41*1.0;
	d41d29 = 	   rFlat41*sigma41*1.0;
	d41d30 = 	   rFlat41*sigma41*1.0;
	d41d31 = 	   rFlat41*sigma41*1.0;
	d41d32 = 	   rFlat41*sigma41*1.0;
	d41d33 = 	   rFlat41*sigma41*1.0;
	d41d34 = 	   rFlat41*sigma41*1.0;
	d41d35 = 	   rFlat41*sigma41*1.0;

	sigma42 =	   CFO42*dwFdM42+dCFOdM42*wF42;
	d42d1 = 	   rFlat42*sigma42*2.0;
	d42d2 = 	   rFlat42*sigma42*1.5;
	d42d3 = 	   rFlat42*sigma42*2.0;
	d42d4 = 	   rFlat42*sigma42*6.0;
	d42d5 = 	   rFlat42*sigma42*1.0;
	d42d6 = 	   rFlat42*sigma42*1.0;
	d42d7 = 	   rFlat42*sigma42*1.0;
	d42d8 = 	   rFlat42*sigma42*1.0;
	d42d9 = 	   rFlat42*sigma42*1.0;
	d42d10 = 	   rFlat42*sigma42*1.0;
	d42d11 = 	   rFlat42*sigma42*2.0;
	d42d12 = 	   rFlat42*sigma42*1.0+c[22]*coeffFallOff42*k42;
	d42d13 = 	   rFlat42*sigma42*1.0;
	d42d14 = 	   rFlat42*sigma42*1.0;
	d42d15 = 	   rFlat42*sigma42*1.0;
	d42d16 = 	   rFlat42*sigma42*1.0;
	d42d17 = 	   rFlat42*sigma42*1.0-coeffFallOff42*k42*uK42;
	d42d18 = 	   rFlat42*sigma42*1.0;
	d42d19 = 	   rFlat42*sigma42*3.0;
	d42d20 = 	   rFlat42*sigma42*1.0;
	d42d21 = 	   rFlat42*sigma42*1.0;
	d42d22 = 	   rFlat42*sigma42*1.0+c[12]*coeffFallOff42*k42;
	d42d23 = 	   rFlat42*sigma42*1.0;
	d42d24 = 	   rFlat42*sigma42*1.0;
	d42d25 = 	   rFlat42*sigma42*1.0;
	d42d26 = 	   rFlat42*sigma42*1.0;
	d42d27 = 	   rFlat42*sigma42*1.0;
	d42d28 = 	   rFlat42*sigma42*1.0;
	d42d29 = 	   rFlat42*sigma42*1.0;
	d42d30 = 	   rFlat42*sigma42*1.0;
	d42d31 = 	   rFlat42*sigma42*1.0;
	d42d32 = 	   rFlat42*sigma42*1.0;
	d42d33 = 	   rFlat42*sigma42*1.0;
	d42d34 = 	   rFlat42*sigma42*1.0;
	d42d35 = 	   rFlat42*sigma42*1.0;

	d43d11 = 	   -c[21]*k43*uK43;
	d43d12 = 	   c[22]*k43;
	d43d21 = 	   -c[11]*k43*uK43;
	d43d22 = 	   c[12]*k43;

	sigma44 =	   CFO44*dwFdM44+dCFOdM44*wF44;
	d44d1 = 	   rFlat44*sigma44*2.0;
	d44d2 = 	   rFlat44*sigma44*1.5;
	d44d3 = 	   rFlat44*sigma44*2.0;
	d44d4 = 	   rFlat44*sigma44*6.0;
	d44d5 = 	   rFlat44*sigma44*1.0;
	d44d6 = 	   rFlat44*sigma44*1.0;
	d44d7 = 	   rFlat44*sigma44*1.0;
	d44d8 = 	   rFlat44*sigma44*1.0;
	d44d9 = 	   rFlat44*sigma44*1.0;
	d44d10 = 	   rFlat44*sigma44*1.0;
	d44d11 = 	   rFlat44*sigma44*2.0;
	d44d12 = 	   rFlat44*sigma44*1.0+c[17]*coeffFallOff44*k44;
	d44d13 = 	   rFlat44*sigma44*1.0;
	d44d14 = 	   rFlat44*sigma44*1.0;
	d44d15 = 	   rFlat44*sigma44*1.0;
	d44d16 = 	   rFlat44*sigma44*1.0;
	d44d17 = 	   rFlat44*sigma44*1.0+c[12]*coeffFallOff44*k44;
	d44d18 = 	   rFlat44*sigma44*1.0-coeffFallOff44*k44*uK44;
	d44d19 = 	   rFlat44*sigma44*3.0;
	d44d20 = 	   rFlat44*sigma44*1.0;
	d44d21 = 	   rFlat44*sigma44*1.0;
	d44d22 = 	   rFlat44*sigma44*1.0;
	d44d23 = 	   rFlat44*sigma44*1.0;
	d44d24 = 	   rFlat44*sigma44*1.0;
	d44d25 = 	   rFlat44*sigma44*1.0;
	d44d26 = 	   rFlat44*sigma44*1.0;
	d44d27 = 	   rFlat44*sigma44*1.0;
	d44d28 = 	   rFlat44*sigma44*1.0;
	d44d29 = 	   rFlat44*sigma44*1.0;
	d44d30 = 	   rFlat44*sigma44*1.0;
	d44d31 = 	   rFlat44*sigma44*1.0;
	d44d32 = 	   rFlat44*sigma44*1.0;
	d44d33 = 	   rFlat44*sigma44*1.0;
	d44d34 = 	   rFlat44*sigma44*1.0;
	d44d35 = 	   rFlat44*sigma44*1.0;

	d45d11 = 	   -c[22]*k45*uK45;
	d45d12 = 	   c[17]*k45;
	d45d17 = 	   c[12]*k45;
	d45d22 = 	   -c[11]*k45*uK45;

	sigma46 =	   CFO46*dwFdM46+dCFOdM46*wF46;
	d46d1 = 	   rFlat46*sigma46*2.0;
	d46d2 = 	   rFlat46*sigma46*1.5;
	d46d3 = 	   rFlat46*sigma46*2.0;
	d46d4 = 	   rFlat46*sigma46*6.0;
	d46d5 = 	   rFlat46*sigma46*1.0;
	d46d6 = 	   rFlat46*sigma46*1.0;
	d46d7 = 	   rFlat46*sigma46*1.0;
	d46d8 = 	   rFlat46*sigma46*1.0;
	d46d9 = 	   rFlat46*sigma46*1.0;
	d46d10 = 	   rFlat46*sigma46*1.0;
	d46d11 = 	   rFlat46*sigma46*2.0;
	d46d12 = 	   rFlat46*sigma46*1.0+c[18]*coeffFallOff46*k46;
	d46d13 = 	   rFlat46*sigma46*1.0;
	d46d14 = 	   rFlat46*sigma46*1.0;
	d46d15 = 	   rFlat46*sigma46*1.0;
	d46d16 = 	   rFlat46*sigma46*1.0;
	d46d17 = 	   rFlat46*sigma46*1.0;
	d46d18 = 	   rFlat46*sigma46*1.0+c[12]*coeffFallOff46*k46;
	d46d19 = 	   rFlat46*sigma46*3.0-coeffFallOff46*k46*uK46;
	d46d20 = 	   rFlat46*sigma46*1.0;
	d46d21 = 	   rFlat46*sigma46*1.0;
	d46d22 = 	   rFlat46*sigma46*1.0;
	d46d23 = 	   rFlat46*sigma46*1.0;
	d46d24 = 	   rFlat46*sigma46*1.0;
	d46d25 = 	   rFlat46*sigma46*1.0;
	d46d26 = 	   rFlat46*sigma46*1.0;
	d46d27 = 	   rFlat46*sigma46*1.0;
	d46d28 = 	   rFlat46*sigma46*1.0;
	d46d29 = 	   rFlat46*sigma46*1.0;
	d46d30 = 	   rFlat46*sigma46*1.0;
	d46d31 = 	   rFlat46*sigma46*1.0;
	d46d32 = 	   rFlat46*sigma46*1.0;
	d46d33 = 	   rFlat46*sigma46*1.0;
	d46d34 = 	   rFlat46*sigma46*1.0;
	d46d35 = 	   rFlat46*sigma46*1.0;

	d47d11 = 	   -c[18]*k47*uK47;
	d47d12 = 	   c[19]*k47;
	d47d18 = 	   -c[11]*k47*uK47;
	d47d19 = 	   c[12]*k47;

	sigma48 =	   CFO48*dwFdM48+dCFOdM48*wF48;
	d48d1 = 	   rFlat48*sigma48*2.0;
	d48d2 = 	   rFlat48*sigma48*1.5+c[11]*coeffFallOff48*k48;
	d48d3 = 	   rFlat48*sigma48*2.0;
	d48d4 = 	   rFlat48*sigma48*6.0;
	d48d5 = 	   rFlat48*sigma48*1.0;
	d48d6 = 	   rFlat48*sigma48*1.0;
	d48d7 = 	   rFlat48*sigma48*1.0;
	d48d8 = 	   rFlat48*sigma48*1.0;
	d48d9 = 	   rFlat48*sigma48*1.0;
	d48d10 = 	   rFlat48*sigma48*1.0;
	d48d11 = 	   rFlat48*sigma48*2.0+c[2]*coeffFallOff48*k48;
	d48d12 = 	   rFlat48*sigma48*1.0;
	d48d13 = 	   rFlat48*sigma48*1.0;
	d48d14 = 	   rFlat48*sigma48*1.0;
	d48d15 = 	   rFlat48*sigma48*1.0-coeffFallOff48*k48*uK48;
	d48d16 = 	   rFlat48*sigma48*1.0;
	d48d17 = 	   rFlat48*sigma48*1.0;
	d48d18 = 	   rFlat48*sigma48*1.0;
	d48d19 = 	   rFlat48*sigma48*3.0;
	d48d20 = 	   rFlat48*sigma48*1.0;
	d48d21 = 	   rFlat48*sigma48*1.0;
	d48d22 = 	   rFlat48*sigma48*1.0;
	d48d23 = 	   rFlat48*sigma48*1.0;
	d48d24 = 	   rFlat48*sigma48*1.0;
	d48d25 = 	   rFlat48*sigma48*1.0;
	d48d26 = 	   rFlat48*sigma48*1.0;
	d48d27 = 	   rFlat48*sigma48*1.0;
	d48d28 = 	   rFlat48*sigma48*1.0;
	d48d29 = 	   rFlat48*sigma48*1.0;
	d48d30 = 	   rFlat48*sigma48*1.0;
	d48d31 = 	   rFlat48*sigma48*1.0;
	d48d32 = 	   rFlat48*sigma48*1.0;
	d48d33 = 	   rFlat48*sigma48*1.0;
	d48d34 = 	   rFlat48*sigma48*1.0;
	d48d35 = 	   rFlat48*sigma48*1.0;

	d49d4 = 	   -c[12]*k49*uK49;
	d49d6 = 	   c[11]*k49;
	d49d11 = 	   c[6]*k49;
	d49d12 = 	   -c[4]*k49*uK49;

	sigma50 =	   CFO50*dwFdM50+dCFOdM50*wF50;
	d50d1 = 	   rFlat50*sigma50*2.0;
	d50d2 = 	   rFlat50*sigma50*1.5;
	d50d3 = 	   rFlat50*sigma50*2.0;
	d50d4 = 	   rFlat50*sigma50*6.0;
	d50d5 = 	   rFlat50*sigma50*1.0;
	d50d6 = 	   rFlat50*sigma50*1.0+c[6]*coeffFallOff50*k50*2.0;
	d50d7 = 	   rFlat50*sigma50*1.0;
	d50d8 = 	   rFlat50*sigma50*1.0;
	d50d9 = 	   rFlat50*sigma50*1.0;
	d50d10 = 	   rFlat50*sigma50*1.0;
	d50d11 = 	   rFlat50*sigma50*2.0;
	d50d12 = 	   rFlat50*sigma50*1.0;
	d50d13 = 	   rFlat50*sigma50*1.0;
	d50d14 = 	   rFlat50*sigma50*1.0;
	d50d15 = 	   rFlat50*sigma50*1.0;
	d50d16 = 	   rFlat50*sigma50*1.0;
	d50d17 = 	   rFlat50*sigma50*1.0;
	d50d18 = 	   rFlat50*sigma50*1.0;
	d50d19 = 	   rFlat50*sigma50*3.0;
	d50d20 = 	   rFlat50*sigma50*1.0-coeffFallOff50*k50*uK50;
	d50d21 = 	   rFlat50*sigma50*1.0;
	d50d22 = 	   rFlat50*sigma50*1.0;
	d50d23 = 	   rFlat50*sigma50*1.0;
	d50d24 = 	   rFlat50*sigma50*1.0;
	d50d25 = 	   rFlat50*sigma50*1.0;
	d50d26 = 	   rFlat50*sigma50*1.0;
	d50d27 = 	   rFlat50*sigma50*1.0;
	d50d28 = 	   rFlat50*sigma50*1.0;
	d50d29 = 	   rFlat50*sigma50*1.0;
	d50d30 = 	   rFlat50*sigma50*1.0;
	d50d31 = 	   rFlat50*sigma50*1.0;
	d50d32 = 	   rFlat50*sigma50*1.0;
	d50d33 = 	   rFlat50*sigma50*1.0;
	d50d34 = 	   rFlat50*sigma50*1.0;
	d50d35 = 	   rFlat50*sigma50*1.0;

	d51d4 = 	   -c[13]*k51*uK51;
	d51d6 = 	   c[6]*k51*2.0;
	d51d13 = 	   -c[4]*k51*uK51;

	d52d4 = 	   -c[5]*k52*uK52;
	d52d5 = 	   -c[4]*k52*uK52;
	d52d6 = 	   c[7]*k52;
	d52d7 = 	   c[6]*k52;

	d53d4 = 	   -c[7]*k53*uK53;
	d53d6 = 	   c[20]*k53;
	d53d7 = 	   -c[4]*k53*uK53;
	d53d20 = 	   c[6]*k53;

	d54d6 = 	   c[8]*k54;
	d54d8 = 	   c[6]*k54;
	d54d12 = 	   -c[15]*k54*uK54;
	d54d15 = 	   -c[12]*k54*uK54;

	d55d6 = 	   c[9]*k55;
	d55d9 = 	   c[6]*k55;
	d55d12 = 	   -c[15]*k55*uK55;
	d55d15 = 	   -c[12]*k55*uK55;

	d56d4 = 	   -c[9]*k56*uK56;
	d56d6 = 	   c[10]*k56;
	d56d9 = 	   -c[4]*k56*uK56;
	d56d10 = 	   c[6]*k56;

	d57d1 = 	   c[6]*k57;
	d57d4 = 	   -c[10]*k57*uK57;
	d57d6 = 	   c[1]*k57;
	d57d10 = 	   -c[4]*k57*uK57;

	d58d2 = 	   c[6]*k58;
	d58d3 = 	   -c[12]*k58*uK58;
	d58d6 = 	   c[2]*k58;
	d58d12 = 	   -c[3]*k58*uK58;

	d59d2 = 	   -c[4]*k59*uK59;
	d59d4 = 	   -c[2]*k59*uK59;
	d59d6 = 	   c[14]*k59;
	d59d14 = 	   c[6]*k59;

	d60d4 = 	   -c[14]*k60*uK60;
	d60d6 = 	   c[15]*k60;
	d60d14 = 	   -c[4]*k60*uK60;
	d60d15 = 	   c[6]*k60;

	d61d2 = 	   -c[10]*k61*uK61;
	d61d6 = 	   c[21]*k61;
	d61d10 = 	   -c[2]*k61*uK61;
	d61d21 = 	   c[6]*k61;

	d62d4 = 	   -c[21]*k62*uK62;
	d62d6 = 	   c[22]*k62;
	d62d21 = 	   -c[4]*k62*uK62;
	d62d22 = 	   c[6]*k62;

	d63d4 = 	   -c[22]*k63*uK63;
	d63d6 = 	   c[17]*k63;
	d63d17 = 	   c[6]*k63;
	d63d22 = 	   -c[4]*k63*uK63;

	d64d4 = 	   -c[18]*k64*uK64;
	d64d6 = 	   c[19]*k64;
	d64d18 = 	   -c[4]*k64*uK64;
	d64d19 = 	   c[6]*k64;

	d65d5 = 	   -c[20]*k65*uK65;
	d65d7 = 	   c[7]*k65*2.0;
	d65d20 = 	   -c[5]*k65*uK65;

	d66d5 = 	   -c[20]*k66*uK66;
	d66d7 = 	   c[7]*k66*2.0;
	d66d20 = 	   -c[5]*k66*uK66;

	d67d6 = 	   -c[15]*k67*uK67;
	d67d7 = 	   c[8]*k67;
	d67d8 = 	   c[7]*k67;
	d67d15 = 	   -c[6]*k67*uK67;

	d68d1 = 	   -c[5]*k68*uK68;
	d68d5 = 	   -c[1]*k68*uK68;
	d68d7 = 	   c[10]*k68;
	d68d10 = 	   c[7]*k68;

	d69d6 = 	   -c[16]*k69*uK69;
	d69d7 = 	   c[10]*k69;
	d69d10 = 	   c[7]*k69;
	d69d16 = 	   -c[6]*k69*uK69;

	d70d2 = 	   c[7]*k70;
	d70d3 = 	   -c[6]*k70*uK70;
	d70d6 = 	   -c[3]*k70*uK70;
	d70d7 = 	   c[2]*k70;

	d71d7 = 	   c[15]*k71;
	d71d14 = 	   -c[20]*k71*uK71;
	d71d15 = 	   c[7]*k71;
	d71d20 = 	   -c[14]*k71*uK71;

	d72d5 = 	   c[8]*k72;
	d72d6 = 	   -c[14]*k72*uK72;
	d72d8 = 	   c[5]*k72;
	d72d14 = 	   -c[6]*k72*uK72;

	d73d8 = 	   c[11]*k73;
	d73d10 = 	   -c[12]*k73*uK73;
	d73d11 = 	   c[8]*k73;
	d73d12 = 	   -c[10]*k73*uK73;

	d74d8 = 	   c[8]*k74*2.0;
	d74d11 = 	   -c[21]*k74*uK74;
	d74d21 = 	   -c[11]*k74*uK74;

	d75d8 = 	   c[10]*k75;
	d75d10 = 	   c[8]*k75;
	d75d12 = 	   -c[17]*k75*uK75;
	d75d17 = 	   -c[12]*k75*uK75;

	d76d1 = 	   c[8]*k76;
	d76d8 = 	   c[1]*k76;
	d76d10 = 	   c[10]*k76*uK76*-2.0;

	d77d8 = 	   -c[24]*k77*uK77;
	d77d9 = 	   c[24]*k77;
	d77d24 = 	   k77*(c[9]-c[8]*uK77);

	d78d2 = 	   -c[12]*c[6]*k78*uK78;
	d78d5 = 	   c[9]*k78;
	d78d6 = 	   -c[12]*c[2]*k78*uK78;
	d78d9 = 	   c[5]*k78;
	d78d12 = 	   -c[2]*c[6]*k78*uK78;

	d79d2 = 	   -c[4]*k79*uK79;
	d79d4 = 	   -c[2]*k79*uK79;
	d79d5 = 	   c[9]*k79;
	d79d9 = 	   c[5]*k79;

	d80d9 = 	   c[11]*k80;
	d80d10 = 	   -c[12]*k80*uK80;
	d80d11 = 	   c[9]*k80;
	d80d12 = 	   -c[10]*k80*uK80;

	d81d4 = 	   k81*(c[9]-c[8]*uK81);
	d81d8 = 	   -c[4]*k81*uK81;
	d81d9 = 	   c[4]*k81;

	d82d9 = 	   c[10]*k82;
	d82d10 = 	   c[9]*k82;
	d82d12 = 	   -c[17]*k82*uK82;
	d82d17 = 	   -c[12]*k82*uK82;

	d83d1 = 	   c[9]*k83;
	d83d9 = 	   c[1]*k83;
	d83d10 = 	   c[10]*k83*uK83*-2.0;

	d84d2 = 	   k84*(c[9]-c[8]*uK84);
	d84d8 = 	   -c[2]*k84*uK84;
	d84d9 = 	   c[2]*k84;

	d85d3 = 	   k85*(c[9]-c[8]*uK85);
	d85d8 = 	   -c[3]*k85*uK85;
	d85d9 = 	   c[3]*k85;

	d86d2 = 	   -c[15]*k86*uK86;
	d86d3 = 	   c[9]*k86;
	d86d9 = 	   c[3]*k86;
	d86d15 = 	   -c[2]*k86*uK86;

	d87d5 = 	   c[10]*k87;
	d87d10 = 	   c[5]*k87;
	d87d13 = 	   -c[16]*k87*uK87;
	d87d16 = 	   -c[13]*k87*uK87;

	d88d5 = 	   c[10]*k88;
	d88d6 = 	   -c[15]*k88*uK88;
	d88d10 = 	   c[5]*k88;
	d88d15 = 	   -c[6]*k88*uK88;

	d89d1 = 	   -c[7]*k89*uK89;
	d89d7 = 	   -c[1]*k89*uK89;
	d89d10 = 	   c[20]*k89;
	d89d20 = 	   c[10]*k89;

	sigma90 =	   CFO90*dwFdM90+dCFOdM90*wF90;
	d90d1 = 	   rFlat90*sigma90*2.0;
	d90d2 = 	   rFlat90*sigma90*1.5;
	d90d3 = 	   rFlat90*sigma90*2.0;
	d90d4 = 	   rFlat90*sigma90*6.0;
	d90d5 = 	   rFlat90*sigma90*1.0;
	d90d6 = 	   rFlat90*sigma90*1.0;
	d90d7 = 	   rFlat90*sigma90*1.0;
	d90d8 = 	   rFlat90*sigma90*1.0;
	d90d9 = 	   rFlat90*sigma90*1.0;
	d90d10 = 	   rFlat90*sigma90*1.0+c[10]*coeffFallOff90*k90*2.0;
	d90d11 = 	   rFlat90*sigma90*2.0;
	d90d12 = 	   rFlat90*sigma90*1.0;
	d90d13 = 	   rFlat90*sigma90*1.0;
	d90d14 = 	   rFlat90*sigma90*1.0;
	d90d15 = 	   rFlat90*sigma90*1.0;
	d90d16 = 	   rFlat90*sigma90*1.0;
	d90d17 = 	   rFlat90*sigma90*1.0;
	d90d18 = 	   rFlat90*sigma90*1.0;
	d90d19 = 	   rFlat90*sigma90*3.0-coeffFallOff90*k90*uK90;
	d90d20 = 	   rFlat90*sigma90*1.0;
	d90d21 = 	   rFlat90*sigma90*1.0;
	d90d22 = 	   rFlat90*sigma90*1.0;
	d90d23 = 	   rFlat90*sigma90*1.0;
	d90d24 = 	   rFlat90*sigma90*1.0;
	d90d25 = 	   rFlat90*sigma90*1.0;
	d90d26 = 	   rFlat90*sigma90*1.0;
	d90d27 = 	   rFlat90*sigma90*1.0;
	d90d28 = 	   rFlat90*sigma90*1.0;
	d90d29 = 	   rFlat90*sigma90*1.0;
	d90d30 = 	   rFlat90*sigma90*1.0;
	d90d31 = 	   rFlat90*sigma90*1.0;
	d90d32 = 	   rFlat90*sigma90*1.0;
	d90d33 = 	   rFlat90*sigma90*1.0;
	d90d34 = 	   rFlat90*sigma90*1.0;
	d90d35 = 	   rFlat90*sigma90*1.0;

	d91d10 = 	   c[10]*k91*2.0;
	d91d12 = 	   -c[18]*k91*uK91;
	d91d18 = 	   -c[12]*k91*uK91;

	d92d1 = 	   -c[2]*k92*uK92;
	d92d2 = 	   -c[1]*k92*uK92;
	d92d10 = 	   c[14]*k92;
	d92d14 = 	   c[10]*k92;

	d93d1 = 	   -c[14]*k93*uK93;
	d93d10 = 	   c[15]*k93;
	d93d14 = 	   -c[1]*k93*uK93;
	d93d15 = 	   c[10]*k93;

	d94d1 = 	   -c[22]*k94*uK94;
	d94d10 = 	   c[17]*k94;
	d94d17 = 	   c[10]*k94;
	d94d22 = 	   -c[1]*k94*uK94;

	d95d1 = 	   -c[18]*k95*uK95;
	d95d10 = 	   c[19]*k95;
	d95d18 = 	   -c[1]*k95*uK95;
	d95d19 = 	   c[10]*k95;

	d96d2 = 	   -c[12]*c[4]*k96*uK96;
	d96d4 = 	   k96*(c[14]-c[12]*c[2]*uK96);
	d96d12 = 	   -c[2]*c[4]*k96*uK96;
	d96d14 = 	   c[4]*k96;

	d97d1 = 	   rFlat97*2.0;
	d97d2 = 	   rFlat97*1.5-c[12]*coeffM97*k97*uK97;
	d97d3 = 	   rFlat97*2.0;
	d97d5 = 	   rFlat97*1.0;
	d97d6 = 	   rFlat97*1.0;
	d97d7 = 	   rFlat97*1.0;
	d97d8 = 	   rFlat97*1.0;
	d97d9 = 	   rFlat97*1.0;
	d97d10 = 	   rFlat97*1.0;
	d97d11 = 	   rFlat97*2.0;
	d97d12 = 	   rFlat97*1.0-c[2]*coeffM97*k97*uK97;
	d97d13 = 	   rFlat97*1.0;
	d97d14 = 	   rFlat97*1.0+coeffM97*k97;
	d97d15 = 	   rFlat97*1.0;
	d97d16 = 	   rFlat97*1.0;
	d97d17 = 	   rFlat97*1.0;
	d97d18 = 	   rFlat97*1.0;
	d97d19 = 	   rFlat97*3.0;
	d97d20 = 	   rFlat97*1.0;
	d97d21 = 	   rFlat97*1.0;
	d97d22 = 	   rFlat97*1.0;
	d97d23 = 	   rFlat97*1.0;
	d97d24 = 	   rFlat97*1.0;
	d97d25 = 	   rFlat97*1.0;
	d97d26 = 	   rFlat97*1.0;
	d97d27 = 	   rFlat97*1.0;
	d97d28 = 	   rFlat97*1.0;
	d97d29 = 	   rFlat97*1.0;
	d97d30 = 	   rFlat97*1.0;
	d97d31 = 	   rFlat97*1.0;
	d97d32 = 	   rFlat97*1.0;
	d97d33 = 	   rFlat97*1.0;
	d97d34 = 	   rFlat97*1.0;
	d97d35 = 	   rFlat97*1.0;

	d98d2 = 	   -c[7]*k98*uK98;
	d98d5 = 	   c[14]*k98;
	d98d7 = 	   -c[2]*k98*uK98;
	d98d14 = 	   c[5]*k98;

	d99d5 = 	   c[16]*k99;
	d99d7 = 	   -c[15]*k99*uK99;
	d99d15 = 	   -c[7]*k99*uK99;
	d99d16 = 	   c[5]*k99;

	d100d5 = 	   c[22]*k100;
	d100d14 = 	   -c[15]*k100*uK100;
	d100d15 = 	   -c[14]*k100*uK100;
	d100d22 = 	   c[5]*k100;

	sigma101 =	   CFO101*dwFdM101+dCFOdM101*wF101;
	d101d1 = 	   rFlat101*sigma101*2.0;
	d101d2 = 	   rFlat101*sigma101*1.5;
	d101d3 = 	   rFlat101*sigma101*2.0;
	d101d4 = 	   rFlat101*sigma101*6.0;
	d101d5 = 	   rFlat101*sigma101*1.0;
	d101d6 = 	   rFlat101*sigma101*1.0;
	d101d7 = 	   rFlat101*sigma101*1.0;
	d101d8 = 	   rFlat101*sigma101*1.0;
	d101d9 = 	   rFlat101*sigma101*1.0;
	d101d10 = 	   rFlat101*sigma101*1.0;
	d101d11 = 	   rFlat101*sigma101*2.0-c[21]*coeffFallOff101*k101*uK101;
	d101d12 = 	   rFlat101*sigma101*1.0;
	d101d13 = 	   rFlat101*sigma101*1.0;
	d101d14 = 	   rFlat101*sigma101*1.0;
	d101d15 = 	   rFlat101*sigma101*1.0;
	d101d16 = 	   rFlat101*sigma101*1.0;
	d101d17 = 	   coeffFallOff101*k101+rFlat101*sigma101*1.0;
	d101d18 = 	   rFlat101*sigma101*1.0;
	d101d19 = 	   rFlat101*sigma101*3.0;
	d101d20 = 	   rFlat101*sigma101*1.0;
	d101d21 = 	   rFlat101*sigma101*1.0-c[11]*coeffFallOff101*k101*uK101;
	d101d22 = 	   rFlat101*sigma101*1.0;
	d101d23 = 	   rFlat101*sigma101*1.0;
	d101d24 = 	   rFlat101*sigma101*1.0;
	d101d25 = 	   rFlat101*sigma101*1.0;
	d101d26 = 	   rFlat101*sigma101*1.0;
	d101d27 = 	   rFlat101*sigma101*1.0;
	d101d28 = 	   rFlat101*sigma101*1.0;
	d101d29 = 	   rFlat101*sigma101*1.0;
	d101d30 = 	   rFlat101*sigma101*1.0;
	d101d31 = 	   rFlat101*sigma101*1.0;
	d101d32 = 	   rFlat101*sigma101*1.0;
	d101d33 = 	   rFlat101*sigma101*1.0;
	d101d34 = 	   rFlat101*sigma101*1.0;
	d101d35 = 	   rFlat101*sigma101*1.0;

	d102d5 = 	   c[18]*k102;
	d102d7 = 	   -c[17]*k102*uK102;
	d102d17 = 	   -c[7]*k102*uK102;
	d102d18 = 	   c[5]*k102;

	d103d8 = 	   c[12]*k103;
	d103d11 = 	   -c[23]*k103*uK103;
	d103d12 = 	   c[8]*k103;
	d103d23 = 	   -c[11]*k103*uK103;

	d104d4 = 	   -c[23]*k104*uK104;
	d104d6 = 	   c[8]*k104;
	d104d8 = 	   c[6]*k104;
	d104d23 = 	   -c[4]*k104*uK104;

	d105d9 = 	   c[12]*k105;
	d105d11 = 	   -c[23]*k105*uK105;
	d105d12 = 	   c[9]*k105;
	d105d23 = 	   -c[11]*k105*uK105;

	d106d1 = 	   c[23]*k106;
	d106d12 = 	   -c[17]*k106*uK106;
	d106d17 = 	   -c[12]*k106*uK106;
	d106d23 = 	   c[1]*k106;

	d107d2 = 	   -c[12]*k107*uK107;
	d107d12 = 	   -c[2]*k107*uK107;
	d107d13 = 	   c[23]*k107;
	d107d23 = 	   c[13]*k107;

	d108d6 = 	   c[23]*k108;
	d108d12 = 	   -c[14]*k108*uK108;
	d108d14 = 	   -c[12]*k108*uK108;
	d108d23 = 	   c[6]*k108;

	d109d5 = 	   c[23]*k109;
	d109d13 = 	   -c[14]*k109*uK109;
	d109d14 = 	   -c[13]*k109*uK109;
	d109d23 = 	   c[5]*k109;

	d110d4 = 	   c[23]*k110;
	d110d12 = 	   -c[15]*k110*uK110;
	d110d15 = 	   -c[12]*k110*uK110;
	d110d23 = 	   c[4]*k110;

	d111d2 = 	   -c[14]*k111*uK111;
	d111d3 = 	   c[23]*k111;
	d111d14 = 	   -c[2]*k111*uK111;
	d111d23 = 	   c[3]*k111;

	d112d13 = 	   c[24]*k112;
	d112d24 = 	   c[13]*k112;
	d112d25 = 	   -c[26]*k112*uK112;
	d112d26 = 	   -c[25]*k112*uK112;

	d113d5 = 	   c[26]*k113;
	d113d13 = 	   -c[25]*k113*uK113;
	d113d25 = 	   -c[13]*k113*uK113;
	d113d26 = 	   c[5]*k113;

	d114d6 = 	   c[26]*k114;
	d114d12 = 	   -c[25]*k114*uK114;
	d114d25 = 	   -c[12]*k114*uK114;
	d114d26 = 	   c[6]*k114;

	d115d23 = 	   c[24]*k115;
	d115d24 = 	   c[23]*k115;
	d115d26 = 	   -c[27]*k115*uK115;
	d115d27 = 	   -c[26]*k115*uK115;

	d116d12 = 	   -c[28]*k116*uK116;
	d116d13 = 	   c[27]*k116;
	d116d27 = 	   c[13]*k116;
	d116d28 = 	   -c[12]*k116*uK116;

	d117d1 = 	   rFlat117*1.0;
	d117d2 = 	   rFlat117*1.0-c[26]*coeffM117*k117*uK117;
	d117d3 = 	   rFlat117*1.0;
	d117d4 = 	   rFlat117*1.86E1;
	d117d5 = 	   rFlat117*1.5;
	d117d6 = 	   rFlat117*1.0;
	d117d7 = 	   rFlat117*1.0;
	d117d8 = 	   rFlat117*1.0;
	d117d9 = 	   rFlat117*1.0;
	d117d10 = 	   rFlat117*1.0;
	d117d11 = 	   rFlat117*1.0;
	d117d12 = 	   rFlat117*1.0;
	d117d13 = 	   rFlat117*1.0;
	d117d14 = 	   rFlat117*1.0;
	d117d15 = 	   rFlat117*1.0;
	d117d16 = 	   rFlat117*1.0;
	d117d17 = 	   rFlat117*1.0;
	d117d18 = 	   rFlat117*1.0;
	d117d19 = 	   rFlat117*1.0;
	d117d20 = 	   rFlat117*1.0;
	d117d21 = 	   rFlat117*1.0;
	d117d22 = 	   rFlat117*1.0;
	d117d23 = 	   rFlat117*1.0;
	d117d24 = 	   rFlat117*1.5;
	d117d25 = 	   rFlat117*1.0;
	d117d26 = 	   rFlat117*1.0-c[2]*coeffM117*k117*uK117;
	d117d27 = 	   rFlat117*1.0;
	d117d28 = 	   rFlat117*1.0+coeffM117*k117;
	d117d29 = 	   rFlat117*1.0;
	d117d30 = 	   rFlat117*1.0;
	d117d31 = 	   rFlat117*1.0;
	d117d32 = 	   rFlat117*1.0;
	d117d33 = 	   rFlat117*1.0;
	d117d34 = 	   rFlat117*1.0;
	d117d35 = 	   rFlat117*1.0;

	d118d2 = 	   -c[29]*k118*uK118;
	d118d12 = 	   c[28]*k118;
	d118d28 = 	   c[12]*k118;
	d118d29 = 	   -c[2]*k118*uK118;

	d119d2 = 	   -c[25]*k119*uK119;
	d119d13 = 	   c[28]*k119;
	d119d25 = 	   -c[2]*k119*uK119;
	d119d28 = 	   c[13]*k119;

	d120d11 = 	   c[28]*k120;
	d120d12 = 	   -c[30]*k120*uK120;
	d120d28 = 	   c[11]*k120;
	d120d30 = 	   -c[12]*k120*uK120;

	d121d1 = 	   rFlat121*1.0;
	d121d2 = 	   rFlat121*1.0-c[29]*coeffM121*k121*uK121;
	d121d3 = 	   rFlat121*1.0;
	d121d4 = 	   rFlat121*1.86E1;
	d121d5 = 	   rFlat121*1.5;
	d121d6 = 	   rFlat121*1.0;
	d121d7 = 	   rFlat121*1.0;
	d121d8 = 	   rFlat121*1.0;
	d121d9 = 	   rFlat121*1.0;
	d121d10 = 	   rFlat121*1.0;
	d121d11 = 	   rFlat121*1.0;
	d121d12 = 	   rFlat121*1.0;
	d121d13 = 	   rFlat121*1.0;
	d121d14 = 	   rFlat121*1.0;
	d121d15 = 	   rFlat121*1.0;
	d121d16 = 	   rFlat121*1.0;
	d121d17 = 	   rFlat121*1.0;
	d121d18 = 	   rFlat121*1.0;
	d121d19 = 	   rFlat121*1.0;
	d121d20 = 	   rFlat121*1.0;
	d121d21 = 	   rFlat121*1.0;
	d121d22 = 	   rFlat121*1.0;
	d121d23 = 	   rFlat121*1.0;
	d121d24 = 	   rFlat121*1.5;
	d121d25 = 	   rFlat121*1.0;
	d121d26 = 	   rFlat121*1.0;
	d121d27 = 	   rFlat121*1.0;
	d121d28 = 	   rFlat121*1.0;
	d121d29 = 	   rFlat121*1.0-c[2]*coeffM121*k121*uK121;
	d121d30 = 	   rFlat121*1.0+coeffM121*k121;
	d121d31 = 	   rFlat121*1.0;
	d121d32 = 	   rFlat121*1.0;
	d121d33 = 	   rFlat121*1.0;
	d121d34 = 	   rFlat121*1.0;
	d121d35 = 	   rFlat121*1.0;

	d122d2 = 	   -c[31]*k122*uK122;
	d122d12 = 	   c[30]*k122;
	d122d30 = 	   c[12]*k122;
	d122d31 = 	   -c[2]*k122*uK122;

	d123d6 = 	   -c[28]*k123*uK123;
	d123d13 = 	   c[30]*k123;
	d123d28 = 	   -c[6]*k123*uK123;
	d123d30 = 	   c[13]*k123;

	d124d3 = 	   -c[29]*k124*uK124;
	d124d13 = 	   c[30]*k124;
	d124d29 = 	   -c[3]*k124*uK124;
	d124d30 = 	   c[13]*k124;

	d125d4 = 	   -c[28]*k125*uK125;
	d125d6 = 	   c[30]*k125;
	d125d28 = 	   -c[4]*k125*uK125;
	d125d30 = 	   c[6]*k125;

	d126d11 = 	   c[32]*k126;
	d126d12 = 	   -c[27]*k126*uK126;
	d126d27 = 	   -c[12]*k126*uK126;
	d126d32 = 	   c[11]*k126;

	d127d4 = 	   c[32]*k127;
	d127d6 = 	   -c[27]*k127*uK127;
	d127d27 = 	   -c[6]*k127*uK127;
	d127d32 = 	   c[4]*k127;

	d128d6 = 	   c[32]*k128;
	d128d12 = 	   -c[28]*k128*uK128;
	d128d28 = 	   -c[12]*k128*uK128;
	d128d32 = 	   c[6]*k128;

	d129d5 = 	   c[32]*k129;
	d129d13 = 	   -c[28]*k129*uK129;
	d129d28 = 	   -c[13]*k129*uK129;
	d129d32 = 	   c[5]*k129;

	d130d11 = 	   -c[26]*k130*uK130;
	d130d12 = 	   c[29]*k130;
	d130d26 = 	   -c[11]*k130*uK130;
	d130d29 = 	   c[12]*k130;

	d131d12 = 	   -c[25]*k131*uK131;
	d131d13 = 	   c[29]*k131;
	d131d25 = 	   -c[12]*k131*uK131;
	d131d29 = 	   c[13]*k131;

	d132d6 = 	   c[29]*k132;
	d132d12 = 	   -c[33]*k132*uK132;
	d132d29 = 	   c[6]*k132;
	d132d33 = 	   -c[12]*k132*uK132;

	d133d4 = 	   -c[26]*k133*uK133;
	d133d6 = 	   c[29]*k133;
	d133d26 = 	   -c[4]*k133*uK133;
	d133d29 = 	   c[6]*k133;

	d134d5 = 	   c[29]*k134;
	d134d13 = 	   -c[33]*k134*uK134;
	d134d29 = 	   c[5]*k134;
	d134d33 = 	   -c[13]*k134*uK134;

	d135d12 = 	   -c[34]*k135*uK135;
	d135d25 = 	   c[29]*k135;
	d135d29 = 	   c[25]*k135;
	d135d34 = 	   -c[12]*k135*uK135;

	d136d6 = 	   -c[24]*k136*uK136;
	d136d24 = 	   -c[6]*k136*uK136;
	d136d25 = 	   c[29]*k136;
	d136d29 = 	   c[25]*k136;

	d137d11 = 	   -c[29]*k137*uK137;
	d137d12 = 	   c[31]*k137;
	d137d29 = 	   -c[11]*k137*uK137;
	d137d31 = 	   c[12]*k137;

	d138d12 = 	   -c[33]*k138*uK138;
	d138d13 = 	   c[31]*k138;
	d138d31 = 	   c[13]*k138;
	d138d33 = 	   -c[12]*k138*uK138;

	d139d4 = 	   -c[29]*k139*uK139;
	d139d6 = 	   c[31]*k139;
	d139d29 = 	   -c[4]*k139*uK139;
	d139d31 = 	   c[6]*k139;

	d140d4 = 	   -c[24]*k140*uK140;
	d140d24 = 	   -c[4]*k140*uK140;
	d140d25 = 	   c[31]*k140;
	d140d31 = 	   c[25]*k140;

	d141d6 = 	   -c[35]*k141*uK141;
	d141d25 = 	   c[31]*k141;
	d141d31 = 	   c[25]*k141;
	d141d35 = 	   -c[6]*k141*uK141;

	d142d12 = 	   -c[24]*k142*uK142;
	d142d24 = 	   -c[12]*k142*uK142;
	d142d35 = 	   k142;

	d143d11 = 	   -c[24]*k143*uK143;
	d143d12 = 	   c[35]*k143;
	d143d24 = 	   -c[11]*k143*uK143;
	d143d35 = 	   c[12]*k143;

	d144d12 = 	   -c[34]*k144*uK144;
	d144d13 = 	   c[35]*k144;
	d144d34 = 	   -c[12]*k144*uK144;
	d144d35 = 	   c[13]*k144;

	d145d4 = 	   -c[24]*k145*uK145;
	d145d6 = 	   c[35]*k145;
	d145d24 = 	   -c[4]*k145*uK145;
	d145d35 = 	   c[6]*k145;

	d146d1 = 	   rFlat146*1.0;
	d146d2 = 	   rFlat146*1.0;
	d146d3 = 	   rFlat146*1.0;
	d146d4 = 	   rFlat146*1.0E1;
	d146d5 = 	   rFlat146*2.0;
	d146d6 = 	   rFlat146*1.0;
	d146d7 = 	   rFlat146*1.0;
	d146d8 = 	   rFlat146*1.0;
	d146d9 = 	   rFlat146*1.0;
	d146d10 = 	   rFlat146*1.0;
	d146d11 = 	   rFlat146*2.0;
	d146d12 = 	   rFlat146*1.0-c[25]*coeffM146*k146*uK146;
	d146d13 = 	   rFlat146*1.0;
	d146d14 = 	   rFlat146*1.0;
	d146d15 = 	   rFlat146*1.0;
	d146d16 = 	   rFlat146*1.0;
	d146d17 = 	   rFlat146*1.0;
	d146d18 = 	   rFlat146*1.0;
	d146d19 = 	   rFlat146*1.0;
	d146d20 = 	   rFlat146*1.0;
	d146d21 = 	   rFlat146*1.0;
	d146d22 = 	   rFlat146*1.0;
	d146d23 = 	   rFlat146*1.0;
	d146d24 = 	   rFlat146*2.0;
	d146d25 = 	   rFlat146*1.0-c[12]*coeffM146*k146*uK146;
	d146d26 = 	   rFlat146*1.0;
	d146d27 = 	   rFlat146*1.0;
	d146d28 = 	   rFlat146*1.0;
	d146d29 = 	   rFlat146*1.0;
	d146d30 = 	   rFlat146*1.0;
	d146d31 = 	   rFlat146*1.0;
	d146d32 = 	   rFlat146*1.0;
	d146d33 = 	   rFlat146*1.0+coeffM146*k146;
	d146d34 = 	   rFlat146*1.0;
	d146d35 = 	   rFlat146*1.0;

	d147d11 = 	   -c[25]*k147*uK147;
	d147d12 = 	   c[33]*k147;
	d147d25 = 	   -c[11]*k147*uK147;
	d147d33 = 	   c[12]*k147;

	d148d4 = 	   -c[25]*k148*uK148;
	d148d6 = 	   c[33]*k148;
	d148d25 = 	   -c[4]*k148*uK148;
	d148d33 = 	   c[6]*k148;

	d149d10 = 	   c[25]*k149;
	d149d25 = 	   c[10]*k149;

	d150d8 = 	   c[25]*k150;
	d150d12 = 	   -c[30]*k150*uK150;
	d150d25 = 	   c[8]*k150;
	d150d30 = 	   -c[12]*k150*uK150;

	d151d13 = 	   -c[27]*k151*uK151;
	d151d23 = 	   c[25]*k151;
	d151d25 = 	   c[23]*k151;
	d151d27 = 	   -c[13]*k151*uK151;

	sigma152 =	   CFO152*dwFdM152+dCFOdM152*wF152;
	d152d1 = 	   rFlat152*sigma152;
	d152d2 = 	   rFlat152*sigma152;
	d152d3 = 	   rFlat152*sigma152;
	d152d4 = 	   rFlat152*sigma152;
	d152d5 = 	   rFlat152*sigma152;
	d152d6 = 	   rFlat152*sigma152;
	d152d7 = 	   rFlat152*sigma152;
	d152d8 = 	   rFlat152*sigma152;
	d152d9 = 	   rFlat152*sigma152;
	d152d10 = 	   rFlat152*sigma152;
	d152d11 = 	   rFlat152*sigma152;
	d152d12 = 	   rFlat152*sigma152;
	d152d13 = 	   rFlat152*sigma152-c[24]*coeffFallOff152*k152*uK152;
	d152d14 = 	   rFlat152*sigma152;
	d152d15 = 	   rFlat152*sigma152;
	d152d16 = 	   rFlat152*sigma152;
	d152d17 = 	   rFlat152*sigma152;
	d152d18 = 	   rFlat152*sigma152;
	d152d19 = 	   rFlat152*sigma152;
	d152d20 = 	   rFlat152*sigma152;
	d152d21 = 	   rFlat152*sigma152;
	d152d22 = 	   rFlat152*sigma152;
	d152d23 = 	   rFlat152*sigma152;
	d152d24 = 	   rFlat152*sigma152-c[13]*coeffFallOff152*k152*uK152;
	d152d25 = 	   rFlat152*sigma152;
	d152d26 = 	   rFlat152*sigma152;
	d152d27 = 	   rFlat152*sigma152;
	d152d28 = 	   rFlat152*sigma152;
	d152d29 = 	   rFlat152*sigma152;
	d152d30 = 	   rFlat152*sigma152;
	d152d31 = 	   rFlat152*sigma152;
	d152d32 = 	   rFlat152*sigma152;
	d152d33 = 	   rFlat152*sigma152;
	d152d34 = 	   coeffFallOff152*k152+rFlat152*sigma152;
	d152d35 = 	   rFlat152*sigma152;

	d153d6 = 	   -c[24]*k153*uK153;
	d153d12 = 	   c[34]*k153;
	d153d24 = 	   -c[6]*k153*uK153;
	d153d34 = 	   c[12]*k153;

	d154d13 = 	   c[34]*k154;
	d154d25 = 	   c[25]*k154*uK154*-2.0;
	d154d34 = 	   c[13]*k154;

	d155d6 = 	   c[34]*k155;
	d155d7 = 	   -c[24]*k155*uK155;
	d155d24 = 	   -c[7]*k155*uK155;
	d155d34 = 	   c[6]*k155;

	// ============================================================ 
	// ===== JACOBIAN MAXTRIX ===================================== 
	// ============================================================ 
	J[1][1] =	   -d106d1+d34d1-d35d1-d57d1+d68d1-d76d1-d83d1+d89d1-d8d1+d92d1+d93d1+d94d1+d95d1;
	J[1][2] =	   d34d2+d92d2;
	J[1][3] =	   d34d3;
	J[1][4] =	   d34d4-d57d4;
	J[1][5] =	   d34d5+d68d5;
	J[1][6] =	   d34d6-d57d6-d8d6;
	J[1][7] =	   d34d7+d68d7+d89d7;
	J[1][8] =	   d34d8-d76d8;
	J[1][9] =	   d34d9-d83d9;
	J[1][10] =	   d34d10-d35d10-d57d10+d68d10-d76d10-d83d10+d89d10-d8d10+d92d10+d93d10+d94d10+d95d10;
	J[1][11] =	   d34d11-d35d11;
	J[1][12] =	   -d106d12+d34d12-d35d12;
	J[1][13] =	   d34d13-d8d13;
	J[1][14] =	   d34d14+d92d14+d93d14;
	J[1][15] =	   d34d15+d93d15;
	J[1][16] =	   d34d16;
	J[1][17] =	   -d106d17+d34d17+d94d17;
	J[1][18] =	   d34d18+d95d18;
	J[1][19] =	   d34d19+d95d19;
	J[1][20] =	   d34d20+d89d20;
	J[1][21] =	   d34d21;
	J[1][22] =	   d34d22+d94d22;
	J[1][23] =	   -d106d23+d34d23;
	J[1][24] =	   d34d24;
	J[1][25] =	   d34d25;
	J[1][26] =	   d34d26;
	J[1][27] =	   d34d27;
	J[1][28] =	   d34d28;
	J[1][29] =	   d34d29;
	J[1][30] =	   d34d30;
	J[1][31] =	   d34d31;
	J[1][32] =	   d34d32;
	J[1][33] =	   d34d33;
	J[1][34] =	   d34d34;
	J[1][35] =	   d34d35;

	J[2][1] =	   d117d1+d121d1-d48d1+d92d1+d97d1-d9d1;
	J[2][2] =	   d10d2+d107d2+d111d2+d117d2+d118d2+d119d2+d121d2+d122d2+d13d2+d14d2-d18d2+d37d2-d48d2+d4d2-d58d2+d59d2+d5d2+d61d2-d70d2+d78d2+d79d2+d86d2+d92d2+d96d2+d97d2+d98d2-d9d2;
	J[2][3] =	   d111d3+d117d3+d121d3-d18d3-d48d3-d58d3-d70d3+d86d3+d97d3-d9d3;
	J[2][4] =	   d117d4+d121d4-d48d4+d59d4+d79d4+d96d4-d9d4;
	J[2][5] =	   d117d5+d121d5-d18d5-d48d5+d78d5+d79d5+d97d5+d98d5-d9d5;
	J[2][6] =	   d10d6+d117d6+d121d6-d48d6-d58d6+d59d6+d61d6-d70d6+d78d6+d97d6-d9d6;
	J[2][7] =	   d117d7+d121d7-d48d7-d70d7+d97d7+d98d7-d9d7;
	J[2][8] =	   d117d8+d121d8+d14d8-d48d8+d4d8+d5d8+d97d8-d9d8;
	J[2][9] =	   d117d9+d121d9+d13d9-d48d9+d78d9+d79d9+d86d9+d97d9-d9d9;
	J[2][10] =	   d117d10+d121d10-d48d10+d61d10+d92d10+d97d10-d9d10;
	J[2][11] =	   d117d11+d121d11+d37d11-d48d11+d5d11+d97d11-d9d11;
	J[2][12] =	   d107d12+d117d12+d118d12+d121d12+d122d12+d37d12-d48d12+d4d12-d58d12+d78d12+d96d12+d97d12-d9d12;
	J[2][13] =	   d10d13+d107d13+d117d13+d119d13+d121d13+d13d13+d14d13-d18d13-d48d13+d4d13+d5d13+d97d13-d9d13;
	J[2][14] =	   d10d14+d111d14+d117d14+d121d14+d37d14-d48d14+d59d14+d92d14+d96d14+d97d14+d98d14-d9d14;
	J[2][15] =	   d117d15+d121d15-d48d15+d86d15+d97d15-d9d15;
	J[2][16] =	   d117d16+d121d16-d48d16+d97d16-d9d16;
	J[2][17] =	   d117d17+d121d17-d48d17+d97d17-d9d17;
	J[2][18] =	   d117d18+d121d18-d48d18+d97d18-d9d18;
	J[2][19] =	   d117d19+d121d19-d48d19+d97d19-d9d19;
	J[2][20] =	   d117d20+d121d20-d48d20+d97d20-d9d20;
	J[2][21] =	   d117d21+d121d21+d13d21+d14d21-d48d21+d61d21+d97d21-d9d21;
	J[2][22] =	   d117d22+d121d22-d48d22+d97d22-d9d22;
	J[2][23] =	   d107d23+d111d23+d117d23+d121d23-d48d23+d97d23-d9d23;
	J[2][24] =	   d117d24+d121d24-d48d24+d97d24-d9d24;
	J[2][25] =	   d117d25+d119d25+d121d25-d48d25+d97d25-d9d25;
	J[2][26] =	   d117d26+d121d26-d48d26+d97d26-d9d26;
	J[2][27] =	   d117d27+d121d27-d48d27+d97d27-d9d27;
	J[2][28] =	   d117d28+d118d28+d119d28+d121d28-d48d28+d97d28-d9d28;
	J[2][29] =	   d117d29+d118d29+d121d29-d48d29+d97d29-d9d29;
	J[2][30] =	   d117d30+d121d30+d122d30-d48d30+d97d30-d9d30;
	J[2][31] =	   d117d31+d121d31+d122d31-d48d31+d97d31-d9d31;
	J[2][32] =	   d117d32+d121d32-d48d32+d97d32-d9d32;
	J[2][33] =	   d117d33+d121d33-d48d33+d97d33-d9d33;
	J[2][34] =	   d117d34+d121d34-d48d34+d97d34-d9d34;
	J[2][35] =	   d117d35+d121d35-d48d35+d97d35-d9d35;

	J[3][1] =	   d9d1;
	J[3][2] =	   -d111d2+d18d2+d58d2+d70d2-d86d2+d9d2;
	J[3][3] =	   d11d3-d111d3+d124d3+d18d3+d58d3+d70d3-d86d3+d9d3;
	J[3][4] =	   d9d4;
	J[3][5] =	   d18d5+d9d5;
	J[3][6] =	   d58d6+d70d6+d9d6;
	J[3][7] =	   d70d7+d9d7;
	J[3][8] =	   d9d8;
	J[3][9] =	   -d86d9+d9d9;
	J[3][10] =	   d9d10;
	J[3][11] =	   d9d11;
	J[3][12] =	   d11d12+d58d12+d9d12;
	J[3][13] =	   d11d13+d124d13+d18d13+d9d13;
	J[3][14] =	   d11d14-d111d14+d9d14;
	J[3][15] =	   -d86d15+d9d15;
	J[3][16] =	   d9d16;
	J[3][17] =	   d9d17;
	J[3][18] =	   d9d18;
	J[3][19] =	   d9d19;
	J[3][20] =	   d9d20;
	J[3][21] =	   d9d21;
	J[3][22] =	   d9d22;
	J[3][23] =	   -d111d23+d9d23;
	J[3][24] =	   d9d24;
	J[3][25] =	   d9d25;
	J[3][26] =	   d9d26;
	J[3][27] =	   d9d27;
	J[3][28] =	   d9d28;
	J[3][29] =	   d124d29+d9d29;
	J[3][30] =	   d124d30+d9d30;
	J[3][31] =	   d9d31;
	J[3][32] =	   d9d32;
	J[3][33] =	   d9d33;
	J[3][34] =	   d9d34;
	J[3][35] =	   d9d35;

	J[4][1] =	   d29d1+d57d1;
	J[4][2] =	   d29d2+d59d2+d79d2;
	J[4][3] =	   d29d3;
	J[4][4] =	   d104d4-d110d4+d125d4-d127d4+d133d4+d139d4+d140d4+d145d4+d148d4+d29d4+d49d4+d51d4+d52d4+d53d4+d56d4+d57d4+d59d4+d60d4+d62d4+d63d4+d64d4+d79d4;
	J[4][5] =	   d29d5+d52d5+d79d5;
	J[4][6] =	   d104d6+d125d6-d127d6+d133d6+d139d6+d145d6+d148d6+d29d6+d49d6+d51d6+d52d6+d53d6+d56d6+d57d6+d59d6+d60d6+d62d6+d63d6+d64d6;
	J[4][7] =	   d29d7+d52d7+d53d7;
	J[4][8] =	   d104d8+d29d8;
	J[4][9] =	   d29d9+d56d9+d79d9;
	J[4][10] =	   d149d10+d29d10+d56d10+d57d10;
	J[4][11] =	   d29d11+d49d11;
	J[4][12] =	   -d110d12+d29d12+d49d12;
	J[4][13] =	   d29d13+d51d13;
	J[4][14] =	   d29d14+d59d14+d60d14;
	J[4][15] =	   -d110d15+d29d15+d60d15;
	J[4][16] =	   d29d16;
	J[4][17] =	   d29d17+d63d17;
	J[4][18] =	   d29d18+d64d18;
	J[4][19] =	   d29d19+d64d19;
	J[4][20] =	   d29d20+d53d20;
	J[4][21] =	   d29d21+d62d21;
	J[4][22] =	   d29d22+d62d22+d63d22;
	J[4][23] =	   d104d23-d110d23+d29d23;
	J[4][24] =	   d140d24+d145d24+d29d24;
	J[4][25] =	   d140d25+d148d25+d149d25+d29d25;
	J[4][26] =	   d133d26+d29d26;
	J[4][27] =	   -d127d27+d29d27;
	J[4][28] =	   d125d28+d29d28;
	J[4][29] =	   d133d29+d139d29+d29d29;
	J[4][30] =	   d125d30+d29d30;
	J[4][31] =	   d139d31+d140d31+d29d31;
	J[4][32] =	   -d127d32+d29d32;
	J[4][33] =	   d148d33+d29d33;
	J[4][34] =	   d29d34;
	J[4][35] =	   d145d35+d29d35;

	J[5][1] =	   -d20d1+d68d1;
	J[5][2] =	   -d18d2-d20d2-d78d2-d79d2-d98d2;
	J[5][3] =	   -d18d3-d20d3;
	J[5][4] =	   -d22d4+d52d4-d79d4;
	J[5][5] =	   -d100d5-d102d5-d109d5-d113d5-d129d5-d134d5-d18d5-d19d5-d20d5-d21d5-d22d5-d23d5-d24d5+d30d5+d3d5+d52d5+d65d5+d66d5+d68d5-d72d5-d78d5-d79d5-d87d5-d88d5-d98d5-d99d5;
	J[5][6] =	   -d20d6-d24d6+d3d6+d52d6-d72d6-d78d6-d88d6;
	J[5][7] =	   -d102d7-d19d7-d20d7-d21d7-d22d7-d23d7+d30d7+d3d7+d52d7+d65d7+d66d7+d68d7-d98d7-d99d7;
	J[5][8] =	   -d20d8-d72d8;
	J[5][9] =	   -d20d9-d78d9-d79d9;
	J[5][10] =	   -d20d10+d68d10-d87d10-d88d10;
	J[5][11] =	   -d20d11+d30d11;
	J[5][12] =	   -d20d12-d21d12-d22d12-d23d12-d24d12+d30d12-d78d12;
	J[5][13] =	   -d109d13-d113d13-d129d13-d134d13-d18d13-d20d13-d24d13+d3d13-d87d13;
	J[5][14] =	   -d100d14-d109d14-d19d14-d20d14-d72d14-d98d14;
	J[5][15] =	   -d100d15-d19d15-d20d15-d88d15-d99d15;
	J[5][16] =	   -d20d16-d87d16-d99d16;
	J[5][17] =	   -d102d17-d20d17;
	J[5][18] =	   -d102d18-d20d18;
	J[5][19] =	   -d20d19;
	J[5][20] =	   -d20d20+d65d20+d66d20;
	J[5][21] =	   -d20d21;
	J[5][22] =	   -d100d22-d20d22;
	J[5][23] =	   -d109d23-d20d23;
	J[5][24] =	   -d23d24;
	J[5][25] =	   -d113d25-d20d25;
	J[5][26] =	   -d113d26-d20d26;
	J[5][27] =	   -d20d27;
	J[5][28] =	   -d129d28-d20d28;
	J[5][29] =	   -d134d29-d20d29;
	J[5][30] =	   -d20d30;
	J[5][31] =	   -d20d31;
	J[5][32] =	   -d129d32-d20d32;
	J[5][33] =	   -d134d33-d20d33;
	J[5][34] =	   -d20d34;
	J[5][35] =	   -d20d35;

	J[6][1] =	   d1d1-d29d1-d50d1*2.0-d57d1+d8d1;
	J[6][2] =	   d10d2+d1d2-d29d2-d50d2*2.0-d58d2-d59d2-d61d2+d70d2+d78d2;
	J[6][3] =	   d1d3-d29d3-d50d3*2.0-d58d3+d70d3;
	J[6][4] =	   -d104d4-d125d4+d127d4-d133d4-d139d4-d145d4-d148d4+d1d4-d29d4-d49d4-d50d4*2.0-d51d4*2.0-d52d4-d53d4-d56d4-d57d4-d59d4-d60d4-d62d4-d63d4-d64d4;
	J[6][5] =	   d1d5+d24d5-d29d5+d3d5-d50d5*2.0-d52d5+d72d5+d78d5+d88d5;
	J[6][6] =	   d10d6-d104d6-d108d6-d114d6+d12d6+d123d6-d125d6+d127d6-d128d6-d132d6-d133d6+d136d6-d139d6+d141d6-d145d6-d148d6+d153d6-d155d6+d17d6+d1d6+d24d6-d29d6+d2d6+d31d6*2.0+d3d6+d40d6-d49d6-d50d6*2.0-d51d6*2.0-d52d6-d53d6-d54d6-d55d6-d56d6-d57d6-d58d6-d59d6-d60d6-d61d6-d62d6-d63d6-d64d6+d67d6+d69d6+d70d6+d72d6+d78d6+d88d6+d8d6;
	J[6][7] =	   -d155d7+d1d7-d29d7+d31d7*2.0+d3d7-d50d7*2.0-d52d7-d53d7+d67d7+d69d7+d70d7;
	J[6][8] =	   -d104d8+d1d8-d29d8-d50d8*2.0-d54d8+d67d8+d72d8;
	J[6][9] =	   d1d9-d29d9-d50d9*2.0-d55d9-d56d9+d78d9;
	J[6][10] =	   d1d10-d29d10+d40d10-d50d10*2.0-d56d10-d57d10-d61d10+d69d10+d88d10+d8d10;
	J[6][11] =	   d1d11-d29d11+d2d11-d49d11-d50d11*2.0;
	J[6][12] =	   -d108d12-d114d12-d128d12-d132d12+d153d12+d1d12+d24d12-d29d12+d2d12+d31d12*2.0+d40d12-d49d12-d50d12*2.0-d54d12-d55d12-d58d12+d78d12;
	J[6][13] =	   d10d13+d12d13+d123d13+d17d13+d1d13+d24d13-d29d13+d2d13+d3d13-d50d13*2.0-d51d13*2.0+d8d13;
	J[6][14] =	   d10d14-d108d14+d12d14+d1d14-d29d14-d50d14*2.0-d59d14-d60d14+d72d14;
	J[6][15] =	   d12d15+d1d15-d29d15-d50d15*2.0-d54d15-d55d15-d60d15+d67d15+d88d15;
	J[6][16] =	   d1d16-d29d16+d40d16-d50d16*2.0+d69d16;
	J[6][17] =	   d1d17-d29d17-d50d17*2.0-d63d17;
	J[6][18] =	   d17d18+d1d18-d29d18-d50d18*2.0-d64d18;
	J[6][19] =	   d17d19+d1d19-d29d19-d50d19*2.0-d64d19;
	J[6][20] =	   d1d20-d29d20-d50d20*2.0-d53d20;
	J[6][21] =	   d1d21-d29d21-d50d21*2.0-d61d21-d62d21;
	J[6][22] =	   d1d22-d29d22-d50d22*2.0-d62d22-d63d22;
	J[6][23] =	   -d104d23-d108d23+d1d23-d29d23-d50d23*2.0;
	J[6][24] =	   d136d24-d145d24+d153d24-d155d24+d1d24-d29d24-d50d24*2.0;
	J[6][25] =	   -d114d25+d136d25+d141d25-d148d25+d1d25-d29d25-d50d25*2.0;
	J[6][26] =	   -d114d26-d133d26+d1d26-d29d26-d50d26*2.0;
	J[6][27] =	   d127d27+d1d27-d29d27-d50d27*2.0;
	J[6][28] =	   d123d28-d125d28-d128d28+d1d28-d29d28-d50d28*2.0;
	J[6][29] =	   -d132d29-d133d29+d136d29-d139d29+d1d29-d29d29-d50d29*2.0;
	J[6][30] =	   d123d30-d125d30+d1d30-d29d30-d50d30*2.0;
	J[6][31] =	   -d139d31+d141d31+d1d31-d29d31-d50d31*2.0;
	J[6][32] =	   d127d32-d128d32+d1d32-d29d32-d50d32*2.0;
	J[6][33] =	   -d132d33-d148d33+d1d33-d29d33-d50d33*2.0;
	J[6][34] =	   d153d34-d155d34+d1d34-d29d34-d50d34*2.0;
	J[6][35] =	   d141d35-d145d35+d1d35-d29d35-d50d35*2.0;

	J[7][1] =	   d20d1-d68d1+d89d1;
	J[7][2] =	   d20d2-d70d2+d98d2;
	J[7][3] =	   d20d3-d70d3;
	J[7][4] =	   d22d4-d52d4+d53d4;
	J[7][5] =	   d102d5+d19d5+d20d5+d21d5+d22d5+d23d5-d30d5-d3d5-d52d5-d65d5*2.0-d66d5*2.0-d68d5+d98d5+d99d5;
	J[7][6] =	   d155d6+d20d6-d31d6-d3d6-d52d6+d53d6-d67d6-d69d6-d70d6;
	J[7][7] =	   d102d7+d155d7+d19d7+d20d7+d21d7+d22d7+d23d7-d30d7-d31d7+d32d7-d3d7-d52d7+d53d7-d65d7*2.0-d66d7*2.0-d67d7-d68d7-d69d7-d70d7-d71d7+d89d7+d98d7+d99d7;
	J[7][8] =	   d20d8-d67d8;
	J[7][9] =	   d20d9;
	J[7][10] =	   d20d10-d68d10-d69d10+d89d10;
	J[7][11] =	   d20d11-d30d11+d32d11;
	J[7][12] =	   d20d12+d21d12+d22d12+d23d12-d30d12-d31d12+d32d12;
	J[7][13] =	   d20d13-d3d13;
	J[7][14] =	   d19d14+d20d14-d71d14+d98d14;
	J[7][15] =	   d19d15+d20d15-d67d15-d71d15+d99d15;
	J[7][16] =	   d20d16-d69d16+d99d16;
	J[7][17] =	   d102d17+d20d17;
	J[7][18] =	   d102d18+d20d18;
	J[7][19] =	   d20d19;
	J[7][20] =	   d20d20+d32d20+d53d20-d65d20*2.0-d66d20*2.0-d71d20+d89d20;
	J[7][21] =	   d20d21;
	J[7][22] =	   d20d22;
	J[7][23] =	   d20d23;
	J[7][24] =	   d155d24+d23d24;
	J[7][25] =	   d20d25;
	J[7][26] =	   d20d26;
	J[7][27] =	   d20d27;
	J[7][28] =	   d20d28;
	J[7][29] =	   d20d29;
	J[7][30] =	   d20d30;
	J[7][31] =	   d20d31;
	J[7][32] =	   d20d32;
	J[7][33] =	   d20d33;
	J[7][34] =	   d155d34+d20d34;
	J[7][35] =	   d20d35;

	J[8][1] =	   -d33d1-d76d1;
	J[8][2] =	   d14d2-d33d2-d4d2-d5d2+d84d2;
	J[8][3] =	   -d33d3+d85d3;
	J[8][4] =	   -d104d4-d33d4+d81d4;
	J[8][5] =	   -d33d5-d72d5;
	J[8][6] =	   -d104d6-d33d6-d54d6-d67d6-d72d6;
	J[8][7] =	   -d33d7-d67d7;
	J[8][8] =	   -d103d8-d104d8+d14d8-d150d8-d33d8-d4d8-d54d8-d5d8-d67d8-d72d8-d73d8-d74d8*2.0-d75d8-d76d8+d77d8+d81d8+d84d8+d85d8;
	J[8][9] =	   -d33d9+d77d9+d81d9+d84d9+d85d9;
	J[8][10] =	   -d33d10-d73d10-d75d10-d76d10;
	J[8][11] =	   -d103d11-d33d11-d5d11-d73d11-d74d11*2.0;
	J[8][12] =	   -d103d12-d150d12-d33d12-d4d12-d54d12-d73d12-d75d12;
	J[8][13] =	   d14d13-d33d13-d4d13-d5d13;
	J[8][14] =	   -d33d14-d72d14;
	J[8][15] =	   -d33d15-d54d15-d67d15;
	J[8][16] =	   -d33d16;
	J[8][17] =	   -d33d17-d75d17;
	J[8][18] =	   -d33d18;
	J[8][19] =	   -d33d19;
	J[8][20] =	   -d33d20;
	J[8][21] =	   d14d21-d33d21-d74d21*2.0;
	J[8][22] =	   -d33d22;
	J[8][23] =	   -d103d23-d104d23-d33d23;
	J[8][24] =	   -d33d24+d77d24;
	J[8][25] =	   -d150d25-d33d25;
	J[8][26] =	   -d33d26;
	J[8][27] =	   -d33d27;
	J[8][28] =	   -d33d28;
	J[8][29] =	   -d33d29;
	J[8][30] =	   -d150d30-d33d30;
	J[8][31] =	   -d33d31;
	J[8][32] =	   -d33d32;
	J[8][33] =	   -d33d33;
	J[8][34] =	   -d33d34;
	J[8][35] =	   -d33d35;

	J[9][1] =	   -d83d1;
	J[9][2] =	   d13d2-d78d2-d79d2-d84d2-d86d2;
	J[9][3] =	   -d85d3-d86d3;
	J[9][4] =	   d56d4-d79d4-d81d4;
	J[9][5] =	   -d78d5-d79d5;
	J[9][6] =	   -d55d6+d56d6-d78d6;
	J[9][7] =	   0.0;
	J[9][8] =	   -d77d8-d81d8-d84d8-d85d8;
	J[9][9] =	   -d105d9+d13d9-d55d9+d56d9-d6d9-d77d9-d78d9-d79d9-d80d9-d81d9-d82d9-d83d9-d84d9-d85d9-d86d9;
	J[9][10] =	   d56d10-d80d10-d82d10-d83d10;
	J[9][11] =	   -d105d11-d80d11;
	J[9][12] =	   -d105d12-d55d12-d6d12-d78d12-d80d12-d82d12;
	J[9][13] =	   d13d13-d6d13;
	J[9][14] =	   -d6d14;
	J[9][15] =	   -d55d15-d86d15;
	J[9][16] =	   0.0;
	J[9][17] =	   -d82d17;
	J[9][18] =	   0.0;
	J[9][19] =	   0.0;
	J[9][20] =	   0.0;
	J[9][21] =	   d13d21;
	J[9][22] =	   0.0;
	J[9][23] =	   -d105d23;
	J[9][24] =	   -d77d24;
	J[9][25] =	   0.0;
	J[9][26] =	   0.0;
	J[9][27] =	   0.0;
	J[9][28] =	   0.0;
	J[9][29] =	   0.0;
	J[9][30] =	   0.0;
	J[9][31] =	   0.0;
	J[9][32] =	   0.0;
	J[9][33] =	   0.0;
	J[9][34] =	   0.0;
	J[9][35] =	   0.0;

	J[10][1] =	   d33d1-d34d1+d35d1+d57d1-d68d1+d76d1*2.0+d83d1*2.0-d89d1+d8d1-d90d1*2.0-d92d1-d93d1-d94d1-d95d1;
	J[10][2] =	   d33d2-d34d2+d61d2-d90d2*2.0-d92d2;
	J[10][3] =	   d33d3-d34d3-d90d3*2.0;
	J[10][4] =	   d33d4-d34d4-d56d4+d57d4-d90d4*2.0;
	J[10][5] =	   d33d5-d34d5-d68d5-d87d5-d88d5-d90d5*2.0;
	J[10][6] =	   d33d6-d34d6+d40d6-d56d6+d57d6+d61d6-d69d6-d88d6+d8d6-d90d6*2.0;
	J[10][7] =	   d33d7-d34d7-d68d7-d69d7-d89d7-d90d7*2.0;
	J[10][8] =	   d33d8-d34d8+d73d8-d75d8+d76d8*2.0-d90d8*2.0;
	J[10][9] =	   d33d9-d34d9-d56d9+d80d9-d82d9+d83d9*2.0-d90d9*2.0;
	J[10][10] =	   -d149d10+d15d10+d16d10+d33d10-d34d10+d35d10+d40d10-d56d10+d57d10+d61d10-d68d10-d69d10+d73d10-d75d10+d76d10*2.0-d7d10+d80d10-d82d10+d83d10*2.0-d87d10-d88d10-d89d10+d8d10-d90d10*2.0-d91d10*2.0-d92d10-d93d10-d94d10-d95d10;
	J[10][11] =	   d33d11-d34d11+d35d11+d73d11+d80d11-d90d11*2.0;
	J[10][12] =	   d33d12-d34d12+d35d12+d40d12+d73d12-d75d12-d7d12+d80d12-d82d12-d90d12*2.0-d91d12*2.0;
	J[10][13] =	   d15d13+d16d13+d33d13-d34d13-d7d13-d87d13+d8d13-d90d13*2.0;
	J[10][14] =	   d15d14+d33d14-d34d14-d90d14*2.0-d92d14-d93d14;
	J[10][15] =	   d16d15+d33d15-d34d15-d7d15-d88d15-d90d15*2.0-d93d15;
	J[10][16] =	   d33d16-d34d16+d40d16-d69d16-d87d16-d90d16*2.0;
	J[10][17] =	   d15d17+d33d17-d34d17-d75d17-d82d17-d90d17*2.0-d94d17;
	J[10][18] =	   d16d18+d33d18-d34d18-d90d18*2.0-d91d18*2.0-d95d18;
	J[10][19] =	   d33d19-d34d19-d90d19*2.0-d95d19;
	J[10][20] =	   d33d20-d34d20-d89d20-d90d20*2.0;
	J[10][21] =	   d33d21-d34d21+d61d21-d90d21*2.0;
	J[10][22] =	   d33d22-d34d22-d90d22*2.0-d94d22;
	J[10][23] =	   d33d23-d34d23-d90d23*2.0;
	J[10][24] =	   d33d24-d34d24-d90d24*2.0;
	J[10][25] =	   -d149d25+d33d25-d34d25-d90d25*2.0;
	J[10][26] =	   d33d26-d34d26-d90d26*2.0;
	J[10][27] =	   d33d27-d34d27-d90d27*2.0;
	J[10][28] =	   d33d28-d34d28-d90d28*2.0;
	J[10][29] =	   d33d29-d34d29-d90d29*2.0;
	J[10][30] =	   d33d30-d34d30-d90d30*2.0;
	J[10][31] =	   d33d31-d34d31-d90d31*2.0;
	J[10][32] =	   d33d32-d34d32-d90d32*2.0;
	J[10][33] =	   d33d33-d34d33-d90d33*2.0;
	J[10][34] =	   d33d34-d34d34-d90d34*2.0;
	J[10][35] =	   d33d35-d34d35-d90d35*2.0;

	J[11][1] =	   d101d1+d25d1+d35d1-d48d1;
	J[11][2] =	   d101d2+d25d2+d37d2-d48d2+d5d2;
	J[11][3] =	   d101d3+d28d3-d48d3;
	J[11][4] =	   d101d4+d27d4-d48d4-d49d4;
	J[11][5] =	   d101d5+d25d5+d30d5-d48d5;
	J[11][6] =	   d101d6+d25d6-d2d6-d48d6-d49d6;
	J[11][7] =	   d101d7+d25d7+d30d7+d32d7-d48d7;
	J[11][8] =	   d101d8+d103d8+d25d8-d48d8+d5d8-d73d8+d74d8;
	J[11][9] =	   d101d9+d105d9+d25d9-d48d9-d80d9;
	J[11][10] =	   d101d10+d25d10+d35d10-d48d10-d73d10-d80d10;
	J[11][11] =	   d101d11+d103d11+d105d11-d120d11-d126d11+d130d11+d137d11+d143d11+d147d11+d25d11+d26d11+d27d11+d28d11-d2d11+d30d11+d32d11+d35d11+d37d11+d39d11+d43d11+d45d11+d47d11-d48d11-d49d11+d5d11-d73d11+d74d11-d80d11;
	J[11][12] =	   d101d12+d103d12+d105d12-d120d12-d126d12+d130d12+d137d12+d143d12+d147d12+d25d12+d26d12+d27d12+d28d12-d2d12+d30d12+d32d12+d35d12+d37d12+d39d12+d43d12+d45d12+d47d12-d48d12-d49d12-d73d12-d80d12;
	J[11][13] =	   d101d13+d25d13-d2d13-d48d13+d5d13;
	J[11][14] =	   d101d14+d25d14+d37d14+d39d14-d48d14;
	J[11][15] =	   d101d15+d25d15+d39d15-d48d15;
	J[11][16] =	   d101d16+d25d16-d48d16;
	J[11][17] =	   d101d17+d25d17+d45d17-d48d17;
	J[11][18] =	   d101d18+d25d18+d47d18-d48d18;
	J[11][19] =	   d101d19+d25d19+d47d19-d48d19;
	J[11][20] =	   d101d20+d25d20+d32d20-d48d20;
	J[11][21] =	   d101d21+d25d21+d43d21-d48d21+d74d21;
	J[11][22] =	   d101d22+d25d22+d43d22+d45d22-d48d22;
	J[11][23] =	   d101d23+d103d23+d105d23+d25d23-d48d23;
	J[11][24] =	   d101d24+d143d24+d25d24-d48d24;
	J[11][25] =	   d101d25+d147d25+d25d25-d48d25;
	J[11][26] =	   d101d26+d130d26+d25d26-d48d26;
	J[11][27] =	   d101d27-d126d27+d25d27-d48d27;
	J[11][28] =	   d101d28-d120d28+d25d28-d48d28;
	J[11][29] =	   d101d29+d130d29+d137d29+d25d29-d48d29;
	J[11][30] =	   d101d30-d120d30+d25d30-d48d30;
	J[11][31] =	   d101d31+d137d31+d25d31-d48d31;
	J[11][32] =	   d101d32-d126d32+d25d32-d48d32;
	J[11][33] =	   d101d33+d147d33+d25d33-d48d33;
	J[11][34] =	   d101d34+d25d34-d48d34;
	J[11][35] =	   d101d35+d143d35+d25d35-d48d35;

	J[12][1] =	   d106d1+d146d1-d1d1-d20d1-d25d1*2.0-d29d1-d33d1-d34d1-d35d1-d36d1-d38d1-d41d1-d42d1-d44d1-d46d1+d97d1;
	J[12][2] =	   d107d2-d118d2-d122d2+d146d2-d1d2-d20d2-d25d2*2.0-d29d2-d33d2-d34d2-d36d2-d37d2-d38d2-d41d2-d42d2-d44d2-d46d2+d4d2*2.0+d58d2+d78d2+d96d2+d97d2;
	J[12][3] =	   d11d3+d146d3-d1d3-d20d3-d28d3*2.0-d29d3-d33d3-d34d3-d36d3-d38d3-d41d3-d42d3-d44d3-d46d3+d58d3+d97d3;
	J[12][4] =	   d110d4+d146d4-d1d4-d22d4-d27d4*2.0-d29d4-d33d4-d34d4-d36d4-d38d4-d41d4-d42d4-d44d4-d46d4+d49d4+d96d4;
	J[12][5] =	   d146d5-d1d5-d20d5-d21d5-d22d5-d23d5-d24d5-d25d5*2.0-d29d5-d30d5-d33d5-d34d5-d36d5-d38d5-d41d5-d42d5-d44d5-d46d5+d78d5+d97d5;
	J[12][6] =	   d108d6+d114d6+d128d6+d132d6+d146d6-d153d6-d1d6-d20d6-d24d6-d25d6*2.0-d29d6+d2d6-d31d6-d33d6-d34d6-d36d6-d38d6-d40d6-d41d6-d42d6-d44d6-d46d6+d49d6+d54d6+d55d6+d58d6+d78d6+d97d6;
	J[12][7] =	   d146d7-d1d7-d20d7-d21d7-d22d7-d23d7-d25d7*2.0-d29d7-d30d7-d31d7-d32d7-d33d7-d34d7-d36d7-d38d7-d41d7-d42d7-d44d7-d46d7+d97d7;
	J[12][8] =	   -d103d8+d146d8+d150d8-d1d8-d20d8-d25d8*2.0-d29d8-d33d8-d34d8-d36d8-d38d8-d41d8-d42d8-d44d8-d46d8+d4d8*2.0+d54d8+d73d8+d75d8+d97d8;
	J[12][9] =	   -d105d9+d146d9-d1d9-d20d9-d25d9*2.0-d29d9-d33d9-d34d9-d36d9-d38d9-d41d9-d42d9-d44d9-d46d9+d55d9+d6d9+d78d9+d80d9+d82d9+d97d9;
	J[12][10] =	   d146d10-d1d10-d20d10-d25d10*2.0-d29d10-d33d10-d34d10-d35d10-d36d10-d38d10-d40d10-d41d10-d42d10-d44d10-d46d10+d73d10+d75d10+d7d10+d80d10+d82d10+d91d10+d97d10;
	J[12][11] =	   -d103d11-d105d11+d120d11+d126d11-d130d11-d137d11-d143d11+d146d11-d147d11-d1d11-d20d11-d25d11*2.0-d26d11*2.0-d27d11*2.0-d28d11*2.0-d29d11+d2d11-d30d11-d32d11-d33d11-d34d11-d35d11-d36d11-d37d11-d38d11-d39d11-d41d11-d42d11-d43d11-d44d11-d45d11-d46d11-d47d11+d49d11+d73d11+d80d11+d97d11;
	J[12][12] =	   -d103d12-d105d12+d106d12+d107d12+d108d12+d11d12+d110d12+d114d12+d116d12-d118d12+d120d12-d122d12+d126d12+d128d12-d130d12+d131d12+d132d12+d135d12-d137d12+d138d12+d142d12-d143d12+d144d12+d146d12-d147d12+d150d12-d153d12-d1d12-d20d12-d21d12-d22d12-d23d12-d24d12-d25d12*2.0-d26d12*2.0-d27d12*2.0-d28d12*2.0-d29d12+d2d12-d30d12-d31d12-d32d12-d33d12-d34d12-d35d12-d36d12-d37d12-d38d12-d39d12-d40d12-d41d12-d42d12-d43d12-d44d12-d45d12-d46d12-d47d12+d49d12+d4d12*2.0+d54d12+d55d12+d58d12+d6d12+d73d12+d75d12+d78d12+d7d12+d80d12+d82d12+d91d12+d96d12+d97d12;
	J[12][13] =	   d107d13+d11d13+d116d13+d131d13+d138d13+d144d13+d146d13-d1d13-d20d13-d24d13-d25d13*2.0-d29d13+d2d13-d33d13-d34d13-d36d13-d38d13-d41d13-d42d13-d44d13-d46d13+d4d13*2.0+d6d13+d7d13+d97d13;
	J[12][14] =	   d108d14+d11d14+d146d14-d1d14-d20d14-d25d14*2.0-d29d14-d33d14-d34d14-d36d14-d37d14-d38d14-d39d14-d41d14-d42d14-d44d14-d46d14+d6d14+d96d14+d97d14;
	J[12][15] =	   d110d15+d146d15-d1d15-d20d15-d25d15*2.0-d29d15-d33d15-d34d15-d36d15-d38d15-d39d15-d41d15-d42d15-d44d15-d46d15+d54d15+d55d15+d7d15+d97d15;
	J[12][16] =	   d146d16-d1d16-d20d16-d25d16*2.0-d29d16-d33d16-d34d16-d36d16-d38d16-d40d16-d41d16-d42d16-d44d16-d46d16+d97d16;
	J[12][17] =	   d106d17+d146d17-d1d17-d20d17-d25d17*2.0-d29d17-d33d17-d34d17-d36d17-d38d17-d41d17-d42d17-d44d17-d45d17-d46d17+d75d17+d82d17+d97d17;
	J[12][18] =	   d146d18-d1d18-d20d18-d25d18*2.0-d29d18-d33d18-d34d18-d36d18-d38d18-d41d18-d42d18-d44d18-d46d18-d47d18+d91d18+d97d18;
	J[12][19] =	   d146d19-d1d19-d20d19-d25d19*2.0-d29d19-d33d19-d34d19-d36d19-d38d19-d41d19-d42d19-d44d19-d46d19-d47d19+d97d19;
	J[12][20] =	   d146d20-d1d20-d20d20-d25d20*2.0-d29d20-d32d20-d33d20-d34d20-d36d20-d38d20-d41d20-d42d20-d44d20-d46d20+d97d20;
	J[12][21] =	   d146d21-d1d21-d20d21-d25d21*2.0-d29d21-d33d21-d34d21-d36d21-d38d21-d41d21-d42d21-d43d21-d44d21-d46d21+d97d21;
	J[12][22] =	   d146d22-d1d22-d20d22-d25d22*2.0-d29d22-d33d22-d34d22-d36d22-d38d22-d41d22-d42d22-d43d22-d44d22-d45d22-d46d22+d97d22;
	J[12][23] =	   -d103d23-d105d23+d106d23+d107d23+d108d23+d110d23+d146d23-d1d23-d20d23-d25d23*2.0-d29d23-d33d23-d34d23-d36d23-d38d23-d41d23-d42d23-d44d23-d46d23+d97d23;
	J[12][24] =	   d142d24-d143d24+d146d24-d153d24-d1d24-d23d24-d25d24*2.0-d29d24-d33d24-d34d24-d36d24-d38d24-d41d24-d42d24-d44d24-d46d24+d97d24;
	J[12][25] =	   d114d25+d131d25+d135d25+d146d25-d147d25+d150d25-d1d25-d20d25-d25d25*2.0-d29d25-d33d25-d34d25-d36d25-d38d25-d41d25-d42d25-d44d25-d46d25+d97d25;
	J[12][26] =	   d114d26-d130d26+d146d26-d1d26-d20d26-d25d26*2.0-d29d26-d33d26-d34d26-d36d26-d38d26-d41d26-d42d26-d44d26-d46d26+d97d26;
	J[12][27] =	   d116d27+d126d27+d146d27-d1d27-d20d27-d25d27*2.0-d29d27-d33d27-d34d27-d36d27-d38d27-d41d27-d42d27-d44d27-d46d27+d97d27;
	J[12][28] =	   d116d28-d118d28+d120d28+d128d28+d146d28-d1d28-d20d28-d25d28*2.0-d29d28-d33d28-d34d28-d36d28-d38d28-d41d28-d42d28-d44d28-d46d28+d97d28;
	J[12][29] =	   -d118d29-d130d29+d131d29+d132d29+d135d29-d137d29+d146d29-d1d29-d20d29-d25d29*2.0-d29d29-d33d29-d34d29-d36d29-d38d29-d41d29-d42d29-d44d29-d46d29+d97d29;
	J[12][30] =	   d120d30-d122d30+d146d30+d150d30-d1d30-d20d30-d25d30*2.0-d29d30-d33d30-d34d30-d36d30-d38d30-d41d30-d42d30-d44d30-d46d30+d97d30;
	J[12][31] =	   -d122d31-d137d31+d138d31+d146d31-d1d31-d20d31-d25d31*2.0-d29d31-d33d31-d34d31-d36d31-d38d31-d41d31-d42d31-d44d31-d46d31+d97d31;
	J[12][32] =	   d126d32+d128d32+d146d32-d1d32-d20d32-d25d32*2.0-d29d32-d33d32-d34d32-d36d32-d38d32-d41d32-d42d32-d44d32-d46d32+d97d32;
	J[12][33] =	   d132d33+d138d33+d146d33-d147d33-d1d33-d20d33-d25d33*2.0-d29d33-d33d33-d34d33-d36d33-d38d33-d41d33-d42d33-d44d33-d46d33+d97d33;
	J[12][34] =	   d135d34+d144d34+d146d34-d153d34-d1d34-d20d34-d25d34*2.0-d29d34-d33d34-d34d34-d36d34-d38d34-d41d34-d42d34-d44d34-d46d34+d97d34;
	J[12][35] =	   d142d35-d143d35+d144d35+d146d35-d1d35-d20d35-d25d35*2.0-d29d35-d33d35-d34d35-d36d35-d38d35-d41d35-d42d35-d44d35-d46d35+d97d35;

	J[13][1] =	   d152d1-d1d1-d8d1-d9d1;
	J[13][2] =	   -d10d2-d107d2-d119d2-d13d2-d14d2+d152d2+d18d2-d1d2-d4d2-d5d2-d9d2;
	J[13][3] =	   -d11d3-d124d3+d152d3+d18d3-d1d3-d9d3;
	J[13][4] =	   d152d4-d1d4+d51d4-d9d4;
	J[13][5] =	   d109d5+d113d5+d129d5+d134d5+d152d5+d18d5-d1d5+d24d5-d3d5+d87d5-d9d5;
	J[13][6] =	   -d10d6-d12d6-d123d6+d152d6-d17d6-d1d6+d24d6-d2d6-d3d6+d51d6-d8d6-d9d6;
	J[13][7] =	   d152d7-d1d7-d3d7-d9d7;
	J[13][8] =	   -d14d8+d152d8-d1d8-d4d8-d5d8-d9d8;
	J[13][9] =	   -d13d9+d152d9-d1d9-d6d9-d9d9;
	J[13][10] =	   -d15d10+d152d10-d16d10-d1d10-d7d10+d87d10-d8d10-d9d10;
	J[13][11] =	   d152d11-d1d11-d2d11-d5d11-d9d11;
	J[13][12] =	   -d107d12-d11d12-d116d12-d131d12-d138d12-d144d12+d152d12-d1d12+d24d12-d2d12-d4d12-d6d12-d7d12-d9d12;
	J[13][13] =	   -d10d13-d107d13+d109d13-d11d13-d112d13+d113d13-d116d13-d119d13-d12d13-d123d13-d124d13+d129d13-d13d13-d131d13+d134d13-d138d13-d14d13-d144d13-d15d13+d151d13+d152d13-d154d13-d16d13-d17d13+d18d13-d1d13+d24d13-d2d13-d3d13-d4d13+d51d13-d5d13-d6d13-d7d13+d87d13-d8d13-d9d13;
	J[13][14] =	   -d10d14+d109d14-d11d14-d12d14-d15d14+d152d14-d1d14-d6d14-d9d14;
	J[13][15] =	   -d12d15+d152d15-d16d15-d1d15-d7d15-d9d15;
	J[13][16] =	   d152d16-d1d16+d87d16-d9d16;
	J[13][17] =	   -d15d17+d152d17-d1d17-d9d17;
	J[13][18] =	   d152d18-d16d18-d17d18-d1d18-d9d18;
	J[13][19] =	   d152d19-d17d19-d1d19-d9d19;
	J[13][20] =	   d152d20-d1d20-d9d20;
	J[13][21] =	   -d13d21-d14d21+d152d21-d1d21-d9d21;
	J[13][22] =	   d152d22-d1d22-d9d22;
	J[13][23] =	   -d107d23+d109d23+d151d23+d152d23-d1d23-d9d23;
	J[13][24] =	   -d112d24+d152d24-d1d24-d9d24;
	J[13][25] =	   -d112d25+d113d25-d119d25-d131d25+d151d25+d152d25-d154d25-d1d25-d9d25;
	J[13][26] =	   -d112d26+d113d26+d152d26-d1d26-d9d26;
	J[13][27] =	   -d116d27+d151d27+d152d27-d1d27-d9d27;
	J[13][28] =	   -d116d28-d119d28-d123d28+d129d28+d152d28-d1d28-d9d28;
	J[13][29] =	   -d124d29-d131d29+d134d29+d152d29-d1d29-d9d29;
	J[13][30] =	   -d123d30-d124d30+d152d30-d1d30-d9d30;
	J[13][31] =	   -d138d31+d152d31-d1d31-d9d31;
	J[13][32] =	   d129d32+d152d32-d1d32-d9d32;
	J[13][33] =	   d134d33-d138d33+d152d33-d1d33-d9d33;
	J[13][34] =	   -d144d34+d152d34-d154d34-d1d34-d9d34;
	J[13][35] =	   -d144d35+d152d35-d1d35-d9d35;

	J[14][1] =	   -d36d1-d92d1+d93d1-d97d1;
	J[14][2] =	   -d10d2+d111d2-d36d2-d37d2-d59d2-d92d2-d96d2-d97d2-d98d2;
	J[14][3] =	   -d11d3+d111d3-d36d3-d97d3;
	J[14][4] =	   -d36d4-d59d4+d60d4-d96d4;
	J[14][5] =	   d100d5+d109d5+d19d5-d36d5+d72d5-d97d5-d98d5;
	J[14][6] =	   -d10d6+d108d6+d12d6-d36d6-d59d6+d60d6+d72d6-d97d6;
	J[14][7] =	   d19d7-d36d7+d71d7-d97d7-d98d7;
	J[14][8] =	   -d36d8+d72d8-d97d8;
	J[14][9] =	   -d36d9+d6d9-d97d9;
	J[14][10] =	   d15d10-d36d10-d92d10+d93d10-d97d10;
	J[14][11] =	   -d36d11-d37d11+d39d11-d97d11;
	J[14][12] =	   d108d12-d11d12-d36d12-d37d12+d39d12+d6d12-d96d12-d97d12;
	J[14][13] =	   -d10d13+d109d13-d11d13+d12d13+d15d13-d36d13+d6d13-d97d13;
	J[14][14] =	   -d10d14+d100d14+d108d14+d109d14-d11d14+d111d14+d12d14+d15d14+d19d14-d36d14-d37d14+d39d14-d59d14+d60d14+d6d14+d71d14+d72d14-d92d14+d93d14-d96d14-d97d14-d98d14;
	J[14][15] =	   d100d15+d12d15+d19d15-d36d15+d39d15+d60d15+d71d15+d93d15-d97d15;
	J[14][16] =	   -d36d16-d97d16;
	J[14][17] =	   d15d17-d36d17-d97d17;
	J[14][18] =	   -d36d18-d97d18;
	J[14][19] =	   -d36d19-d97d19;
	J[14][20] =	   -d36d20+d71d20-d97d20;
	J[14][21] =	   -d36d21-d97d21;
	J[14][22] =	   d100d22-d36d22-d97d22;
	J[14][23] =	   d108d23+d109d23+d111d23-d36d23-d97d23;
	J[14][24] =	   -d36d24-d97d24;
	J[14][25] =	   -d36d25-d97d25;
	J[14][26] =	   -d36d26-d97d26;
	J[14][27] =	   -d36d27-d97d27;
	J[14][28] =	   -d36d28-d97d28;
	J[14][29] =	   -d36d29-d97d29;
	J[14][30] =	   -d36d30-d97d30;
	J[14][31] =	   -d36d31-d97d31;
	J[14][32] =	   -d36d32-d97d32;
	J[14][33] =	   -d36d33-d97d33;
	J[14][34] =	   -d36d34-d97d34;
	J[14][35] =	   -d36d35-d97d35;

	J[15][1] =	   d36d1-d38d1+d48d1-d93d1;
	J[15][2] =	   d36d2-d38d2+d48d2+d86d2;
	J[15][3] =	   d36d3-d38d3+d48d3+d86d3;
	J[15][4] =	   d110d4+d36d4-d38d4+d48d4-d60d4;
	J[15][5] =	   d100d5-d19d5+d36d5-d38d5+d48d5+d88d5+d99d5;
	J[15][6] =	   -d12d6+d36d6-d38d6+d48d6+d54d6+d55d6-d60d6+d67d6+d88d6;
	J[15][7] =	   -d19d7+d36d7-d38d7+d48d7+d67d7-d71d7+d99d7;
	J[15][8] =	   d36d8-d38d8+d48d8+d54d8+d67d8;
	J[15][9] =	   d36d9-d38d9+d48d9+d55d9+d86d9;
	J[15][10] =	   d16d10+d36d10-d38d10+d48d10+d7d10+d88d10-d93d10;
	J[15][11] =	   d36d11-d38d11-d39d11+d48d11;
	J[15][12] =	   d110d12+d36d12-d38d12-d39d12+d48d12+d54d12+d55d12+d7d12;
	J[15][13] =	   -d12d13+d16d13+d36d13-d38d13+d48d13+d7d13;
	J[15][14] =	   d100d14-d12d14-d19d14+d36d14-d38d14-d39d14+d48d14-d60d14-d71d14-d93d14;
	J[15][15] =	   d100d15+d110d15-d12d15+d16d15-d19d15+d36d15-d38d15-d39d15+d48d15+d54d15+d55d15-d60d15+d67d15-d71d15+d7d15+d86d15+d88d15-d93d15+d99d15;
	J[15][16] =	   d36d16-d38d16+d48d16+d99d16;
	J[15][17] =	   d36d17-d38d17+d48d17;
	J[15][18] =	   d16d18+d36d18-d38d18+d48d18;
	J[15][19] =	   d36d19-d38d19+d48d19;
	J[15][20] =	   d36d20-d38d20+d48d20-d71d20;
	J[15][21] =	   d36d21-d38d21+d48d21;
	J[15][22] =	   d100d22+d36d22-d38d22+d48d22;
	J[15][23] =	   d110d23+d36d23-d38d23+d48d23;
	J[15][24] =	   d36d24-d38d24+d48d24;
	J[15][25] =	   d36d25-d38d25+d48d25;
	J[15][26] =	   d36d26-d38d26+d48d26;
	J[15][27] =	   d36d27-d38d27+d48d27;
	J[15][28] =	   d36d28-d38d28+d48d28;
	J[15][29] =	   d36d29-d38d29+d48d29;
	J[15][30] =	   d36d30-d38d30+d48d30;
	J[15][31] =	   d36d31-d38d31+d48d31;
	J[15][32] =	   d36d32-d38d32+d48d32;
	J[15][33] =	   d36d33-d38d33+d48d33;
	J[15][34] =	   d36d34-d38d34+d48d34;
	J[15][35] =	   d36d35-d38d35+d48d35;

	J[16][1] =	   d38d1;
	J[16][2] =	   d38d2;
	J[16][3] =	   d38d3;
	J[16][4] =	   d38d4;
	J[16][5] =	   d38d5+d87d5-d99d5;
	J[16][6] =	   d38d6-d40d6+d69d6;
	J[16][7] =	   d38d7+d69d7-d99d7;
	J[16][8] =	   d38d8;
	J[16][9] =	   d38d9;
	J[16][10] =	   d38d10-d40d10+d69d10+d87d10;
	J[16][11] =	   d38d11;
	J[16][12] =	   d38d12-d40d12;
	J[16][13] =	   d38d13+d87d13;
	J[16][14] =	   d38d14;
	J[16][15] =	   d38d15-d99d15;
	J[16][16] =	   d38d16-d40d16+d69d16+d87d16-d99d16;
	J[16][17] =	   d38d17;
	J[16][18] =	   d38d18;
	J[16][19] =	   d38d19;
	J[16][20] =	   d38d20;
	J[16][21] =	   d38d21;
	J[16][22] =	   d38d22;
	J[16][23] =	   d38d23;
	J[16][24] =	   d38d24;
	J[16][25] =	   d38d25;
	J[16][26] =	   d38d26;
	J[16][27] =	   d38d27;
	J[16][28] =	   d38d28;
	J[16][29] =	   d38d29;
	J[16][30] =	   d38d30;
	J[16][31] =	   d38d31;
	J[16][32] =	   d38d32;
	J[16][33] =	   d38d33;
	J[16][34] =	   d38d34;
	J[16][35] =	   d38d35;

	J[17][1] =	   -d101d1+d106d1+d42d1-d44d1-d94d1;
	J[17][2] =	   -d101d2+d42d2-d44d2;
	J[17][3] =	   -d101d3+d42d3-d44d3;
	J[17][4] =	   -d101d4+d42d4-d44d4-d63d4;
	J[17][5] =	   -d101d5+d102d5+d42d5-d44d5;
	J[17][6] =	   -d101d6+d42d6-d44d6-d63d6;
	J[17][7] =	   -d101d7+d102d7+d42d7-d44d7;
	J[17][8] =	   -d101d8+d42d8-d44d8+d75d8;
	J[17][9] =	   -d101d9+d42d9-d44d9+d82d9;
	J[17][10] =	   -d101d10-d15d10+d42d10-d44d10+d75d10+d82d10-d94d10;
	J[17][11] =	   -d101d11+d42d11-d44d11-d45d11;
	J[17][12] =	   -d101d12+d106d12+d42d12-d44d12-d45d12+d75d12+d82d12;
	J[17][13] =	   -d101d13-d15d13+d42d13-d44d13;
	J[17][14] =	   -d101d14-d15d14+d42d14-d44d14;
	J[17][15] =	   -d101d15+d42d15-d44d15;
	J[17][16] =	   -d101d16+d42d16-d44d16;
	J[17][17] =	   -d101d17+d102d17+d106d17-d15d17+d42d17-d44d17-d45d17-d63d17+d75d17+d82d17-d94d17;
	J[17][18] =	   -d101d18+d102d18+d42d18-d44d18;
	J[17][19] =	   -d101d19+d42d19-d44d19;
	J[17][20] =	   -d101d20+d42d20-d44d20;
	J[17][21] =	   -d101d21+d42d21-d44d21;
	J[17][22] =	   -d101d22+d42d22-d44d22-d45d22-d63d22-d94d22;
	J[17][23] =	   -d101d23+d106d23+d42d23-d44d23;
	J[17][24] =	   -d101d24+d42d24-d44d24;
	J[17][25] =	   -d101d25+d42d25-d44d25;
	J[17][26] =	   -d101d26+d42d26-d44d26;
	J[17][27] =	   -d101d27+d42d27-d44d27;
	J[17][28] =	   -d101d28+d42d28-d44d28;
	J[17][29] =	   -d101d29+d42d29-d44d29;
	J[17][30] =	   -d101d30+d42d30-d44d30;
	J[17][31] =	   -d101d31+d42d31-d44d31;
	J[17][32] =	   -d101d32+d42d32-d44d32;
	J[17][33] =	   -d101d33+d42d33-d44d33;
	J[17][34] =	   -d101d34+d42d34-d44d34;
	J[17][35] =	   -d101d35+d42d35-d44d35;

	J[18][1] =	   d44d1-d46d1+d95d1;
	J[18][2] =	   d44d2-d46d2;
	J[18][3] =	   d44d3-d46d3;
	J[18][4] =	   d44d4-d46d4+d64d4;
	J[18][5] =	   -d102d5+d44d5-d46d5;
	J[18][6] =	   d17d6+d44d6-d46d6+d64d6;
	J[18][7] =	   -d102d7+d44d7-d46d7;
	J[18][8] =	   d44d8-d46d8;
	J[18][9] =	   d44d9-d46d9;
	J[18][10] =	   -d16d10+d44d10-d46d10+d91d10+d95d10;
	J[18][11] =	   d44d11-d46d11+d47d11;
	J[18][12] =	   d44d12-d46d12+d47d12+d91d12;
	J[18][13] =	   -d16d13+d17d13+d44d13-d46d13;
	J[18][14] =	   d44d14-d46d14;
	J[18][15] =	   -d16d15+d44d15-d46d15;
	J[18][16] =	   d44d16-d46d16;
	J[18][17] =	   -d102d17+d44d17-d46d17;
	J[18][18] =	   -d102d18-d16d18+d17d18+d44d18-d46d18+d47d18+d64d18+d91d18+d95d18;
	J[18][19] =	   d17d19+d44d19-d46d19+d47d19+d64d19+d95d19;
	J[18][20] =	   d44d20-d46d20;
	J[18][21] =	   d44d21-d46d21;
	J[18][22] =	   d44d22-d46d22;
	J[18][23] =	   d44d23-d46d23;
	J[18][24] =	   d44d24-d46d24;
	J[18][25] =	   d44d25-d46d25;
	J[18][26] =	   d44d26-d46d26;
	J[18][27] =	   d44d27-d46d27;
	J[18][28] =	   d44d28-d46d28;
	J[18][29] =	   d44d29-d46d29;
	J[18][30] =	   d44d30-d46d30;
	J[18][31] =	   d44d31-d46d31;
	J[18][32] =	   d44d32-d46d32;
	J[18][33] =	   d44d33-d46d33;
	J[18][34] =	   d44d34-d46d34;
	J[18][35] =	   d44d35-d46d35;

	J[19][1] =	   d46d1+d90d1-d95d1;
	J[19][2] =	   d46d2+d90d2;
	J[19][3] =	   d46d3+d90d3;
	J[19][4] =	   d46d4-d64d4+d90d4;
	J[19][5] =	   d46d5+d90d5;
	J[19][6] =	   -d17d6+d46d6-d64d6+d90d6;
	J[19][7] =	   d46d7+d90d7;
	J[19][8] =	   d46d8+d90d8;
	J[19][9] =	   d46d9+d90d9;
	J[19][10] =	   d46d10+d90d10-d95d10;
	J[19][11] =	   d46d11-d47d11+d90d11;
	J[19][12] =	   d46d12-d47d12+d90d12;
	J[19][13] =	   -d17d13+d46d13+d90d13;
	J[19][14] =	   d46d14+d90d14;
	J[19][15] =	   d46d15+d90d15;
	J[19][16] =	   d46d16+d90d16;
	J[19][17] =	   d46d17+d90d17;
	J[19][18] =	   -d17d18+d46d18-d47d18-d64d18+d90d18-d95d18;
	J[19][19] =	   -d17d19+d46d19-d47d19-d64d19+d90d19-d95d19;
	J[19][20] =	   d46d20+d90d20;
	J[19][21] =	   d46d21+d90d21;
	J[19][22] =	   d46d22+d90d22;
	J[19][23] =	   d46d23+d90d23;
	J[19][24] =	   d46d24+d90d24;
	J[19][25] =	   d46d25+d90d25;
	J[19][26] =	   d46d26+d90d26;
	J[19][27] =	   d46d27+d90d27;
	J[19][28] =	   d46d28+d90d28;
	J[19][29] =	   d46d29+d90d29;
	J[19][30] =	   d46d30+d90d30;
	J[19][31] =	   d46d31+d90d31;
	J[19][32] =	   d46d32+d90d32;
	J[19][33] =	   d46d33+d90d33;
	J[19][34] =	   d46d34+d90d34;
	J[19][35] =	   d46d35+d90d35;

	J[20][1] =	   d50d1-d89d1;
	J[20][2] =	   d50d2;
	J[20][3] =	   d50d3;
	J[20][4] =	   d50d4-d53d4;
	J[20][5] =	   d50d5+d65d5+d66d5;
	J[20][6] =	   d50d6-d53d6;
	J[20][7] =	   -d32d7+d50d7-d53d7+d65d7+d66d7+d71d7-d89d7;
	J[20][8] =	   d50d8;
	J[20][9] =	   d50d9;
	J[20][10] =	   d50d10-d89d10;
	J[20][11] =	   -d32d11+d50d11;
	J[20][12] =	   -d32d12+d50d12;
	J[20][13] =	   d50d13;
	J[20][14] =	   d50d14+d71d14;
	J[20][15] =	   d50d15+d71d15;
	J[20][16] =	   d50d16;
	J[20][17] =	   d50d17;
	J[20][18] =	   d50d18;
	J[20][19] =	   d50d19;
	J[20][20] =	   -d32d20+d50d20-d53d20+d65d20+d66d20+d71d20-d89d20;
	J[20][21] =	   d50d21;
	J[20][22] =	   d50d22;
	J[20][23] =	   d50d23;
	J[20][24] =	   d50d24;
	J[20][25] =	   d50d25;
	J[20][26] =	   d50d26;
	J[20][27] =	   d50d27;
	J[20][28] =	   d50d28;
	J[20][29] =	   d50d29;
	J[20][30] =	   d50d30;
	J[20][31] =	   d50d31;
	J[20][32] =	   d50d32;
	J[20][33] =	   d50d33;
	J[20][34] =	   d50d34;
	J[20][35] =	   d50d35;

	J[21][1] =	   d101d1-d41d1;
	J[21][2] =	   d101d2-d13d2-d14d2-d41d2-d61d2;
	J[21][3] =	   d101d3-d41d3;
	J[21][4] =	   d101d4-d41d4+d62d4;
	J[21][5] =	   d101d5-d41d5;
	J[21][6] =	   d101d6-d41d6-d61d6+d62d6;
	J[21][7] =	   d101d7-d41d7;
	J[21][8] =	   d101d8-d14d8-d41d8+d74d8;
	J[21][9] =	   d101d9-d13d9-d41d9;
	J[21][10] =	   d101d10-d41d10-d61d10;
	J[21][11] =	   d101d11-d41d11+d43d11+d74d11;
	J[21][12] =	   d101d12-d41d12+d43d12;
	J[21][13] =	   d101d13-d13d13-d14d13-d41d13;
	J[21][14] =	   d101d14-d41d14;
	J[21][15] =	   d101d15-d41d15;
	J[21][16] =	   d101d16-d41d16;
	J[21][17] =	   d101d17-d41d17;
	J[21][18] =	   d101d18-d41d18;
	J[21][19] =	   d101d19-d41d19;
	J[21][20] =	   d101d20-d41d20;
	J[21][21] =	   d101d21-d13d21-d14d21-d41d21+d43d21-d61d21+d62d21+d74d21;
	J[21][22] =	   d101d22-d41d22+d43d22+d62d22;
	J[21][23] =	   d101d23-d41d23;
	J[21][24] =	   d101d24-d41d24;
	J[21][25] =	   d101d25-d41d25;
	J[21][26] =	   d101d26-d41d26;
	J[21][27] =	   d101d27-d41d27;
	J[21][28] =	   d101d28-d41d28;
	J[21][29] =	   d101d29-d41d29;
	J[21][30] =	   d101d30-d41d30;
	J[21][31] =	   d101d31-d41d31;
	J[21][32] =	   d101d32-d41d32;
	J[21][33] =	   d101d33-d41d33;
	J[21][34] =	   d101d34-d41d34;
	J[21][35] =	   d101d35-d41d35;

	J[22][1] =	   d41d1-d42d1+d94d1;
	J[22][2] =	   d41d2-d42d2;
	J[22][3] =	   d41d3-d42d3;
	J[22][4] =	   d41d4-d42d4-d62d4+d63d4;
	J[22][5] =	   -d100d5+d41d5-d42d5;
	J[22][6] =	   d41d6-d42d6-d62d6+d63d6;
	J[22][7] =	   d41d7-d42d7;
	J[22][8] =	   d41d8-d42d8;
	J[22][9] =	   d41d9-d42d9;
	J[22][10] =	   d41d10-d42d10+d94d10;
	J[22][11] =	   d41d11-d42d11-d43d11+d45d11;
	J[22][12] =	   d41d12-d42d12-d43d12+d45d12;
	J[22][13] =	   d41d13-d42d13;
	J[22][14] =	   -d100d14+d41d14-d42d14;
	J[22][15] =	   -d100d15+d41d15-d42d15;
	J[22][16] =	   d41d16-d42d16;
	J[22][17] =	   d41d17-d42d17+d45d17+d63d17+d94d17;
	J[22][18] =	   d41d18-d42d18;
	J[22][19] =	   d41d19-d42d19;
	J[22][20] =	   d41d20-d42d20;
	J[22][21] =	   d41d21-d42d21-d43d21-d62d21;
	J[22][22] =	   -d100d22+d41d22-d42d22-d43d22+d45d22-d62d22+d63d22+d94d22;
	J[22][23] =	   d41d23-d42d23;
	J[22][24] =	   d41d24-d42d24;
	J[22][25] =	   d41d25-d42d25;
	J[22][26] =	   d41d26-d42d26;
	J[22][27] =	   d41d27-d42d27;
	J[22][28] =	   d41d28-d42d28;
	J[22][29] =	   d41d29-d42d29;
	J[22][30] =	   d41d30-d42d30;
	J[22][31] =	   d41d31-d42d31;
	J[22][32] =	   d41d32-d42d32;
	J[22][33] =	   d41d33-d42d33;
	J[22][34] =	   d41d34-d42d34;
	J[22][35] =	   d41d35-d42d35;

	J[23][1] =	   -d106d1;
	J[23][2] =	   -d107d2-d111d2;
	J[23][3] =	   -d111d3;
	J[23][4] =	   d104d4-d110d4;
	J[23][5] =	   -d109d5;
	J[23][6] =	   d104d6-d108d6;
	J[23][7] =	   0.0;
	J[23][8] =	   d103d8+d104d8;
	J[23][9] =	   d105d9;
	J[23][10] =	   0.0;
	J[23][11] =	   d103d11+d105d11;
	J[23][12] =	   d103d12+d105d12-d106d12-d107d12-d108d12-d110d12;
	J[23][13] =	   -d107d13-d109d13-d151d13;
	J[23][14] =	   -d108d14-d109d14-d111d14;
	J[23][15] =	   -d110d15;
	J[23][16] =	   0.0;
	J[23][17] =	   -d106d17;
	J[23][18] =	   0.0;
	J[23][19] =	   0.0;
	J[23][20] =	   0.0;
	J[23][21] =	   0.0;
	J[23][22] =	   0.0;
	J[23][23] =	   d103d23+d104d23+d105d23-d106d23-d107d23-d108d23-d109d23-d110d23-d111d23-d115d23-d151d23;
	J[23][24] =	   -d115d24;
	J[23][25] =	   -d151d25;
	J[23][26] =	   -d115d26;
	J[23][27] =	   -d115d27-d151d27;
	J[23][28] =	   0.0;
	J[23][29] =	   0.0;
	J[23][30] =	   0.0;
	J[23][31] =	   0.0;
	J[23][32] =	   0.0;
	J[23][33] =	   0.0;
	J[23][34] =	   0.0;
	J[23][35] =	   0.0;

	J[24][1] =	   d152d1;
	J[24][2] =	   d152d2;
	J[24][3] =	   d152d3;
	J[24][4] =	   d140d4+d145d4+d152d4;
	J[24][5] =	   d152d5;
	J[24][6] =	   d136d6+d145d6+d152d6+d153d6+d155d6;
	J[24][7] =	   d152d7+d155d7;
	J[24][8] =	   d152d8;
	J[24][9] =	   d152d9;
	J[24][10] =	   d152d10;
	J[24][11] =	   d143d11+d152d11;
	J[24][12] =	   d142d12+d143d12+d152d12+d153d12;
	J[24][13] =	   -d112d13+d152d13;
	J[24][14] =	   d152d14;
	J[24][15] =	   d152d15;
	J[24][16] =	   d152d16;
	J[24][17] =	   d152d17;
	J[24][18] =	   d152d18;
	J[24][19] =	   d152d19;
	J[24][20] =	   d152d20;
	J[24][21] =	   d152d21;
	J[24][22] =	   d152d22;
	J[24][23] =	   -d115d23+d152d23;
	J[24][24] =	   -d112d24-d115d24+d136d24+d140d24+d142d24+d143d24+d145d24+d152d24+d153d24+d155d24;
	J[24][25] =	   -d112d25+d136d25+d140d25+d152d25;
	J[24][26] =	   -d112d26-d115d26+d152d26;
	J[24][27] =	   -d115d27+d152d27;
	J[24][28] =	   d152d28;
	J[24][29] =	   d136d29+d152d29;
	J[24][30] =	   d152d30;
	J[24][31] =	   d140d31+d152d31;
	J[24][32] =	   d152d32;
	J[24][33] =	   d152d33;
	J[24][34] =	   d152d34+d153d34+d155d34;
	J[24][35] =	   d142d35+d143d35+d145d35+d152d35;

	J[25][1] =	   d146d1;
	J[25][2] =	   d119d2+d146d2;
	J[25][3] =	   d146d3;
	J[25][4] =	   -d140d4+d146d4+d148d4;
	J[25][5] =	   d113d5+d146d5;
	J[25][6] =	   d114d6-d136d6-d141d6+d146d6+d148d6;
	J[25][7] =	   d146d7;
	J[25][8] =	   d146d8-d150d8;
	J[25][9] =	   d146d9;
	J[25][10] =	   d146d10-d149d10;
	J[25][11] =	   d146d11+d147d11;
	J[25][12] =	   d114d12+d131d12-d135d12+d146d12+d147d12-d150d12;
	J[25][13] =	   d112d13+d113d13+d119d13+d131d13+d146d13-d151d13+d154d13*2.0;
	J[25][14] =	   d146d14;
	J[25][15] =	   d146d15;
	J[25][16] =	   d146d16;
	J[25][17] =	   d146d17;
	J[25][18] =	   d146d18;
	J[25][19] =	   d146d19;
	J[25][20] =	   d146d20;
	J[25][21] =	   d146d21;
	J[25][22] =	   d146d22;
	J[25][23] =	   d146d23-d151d23;
	J[25][24] =	   d112d24-d136d24-d140d24+d146d24;
	J[25][25] =	   d112d25+d113d25+d114d25+d119d25+d131d25-d135d25-d136d25-d140d25-d141d25+d146d25+d147d25+d148d25-d149d25-d150d25-d151d25+d154d25*2.0;
	J[25][26] =	   d112d26+d113d26+d114d26+d146d26;
	J[25][27] =	   d146d27-d151d27;
	J[25][28] =	   d119d28+d146d28;
	J[25][29] =	   d131d29-d135d29-d136d29+d146d29;
	J[25][30] =	   d146d30-d150d30;
	J[25][31] =	   -d140d31-d141d31+d146d31;
	J[25][32] =	   d146d32;
	J[25][33] =	   d146d33+d147d33+d148d33;
	J[25][34] =	   -d135d34+d146d34+d154d34*2.0;
	J[25][35] =	   -d141d35+d146d35;

	J[26][1] =	   d117d1;
	J[26][2] =	   d117d2;
	J[26][3] =	   d117d3;
	J[26][4] =	   d117d4+d133d4;
	J[26][5] =	   -d113d5+d117d5;
	J[26][6] =	   -d114d6+d117d6+d133d6;
	J[26][7] =	   d117d7;
	J[26][8] =	   d117d8;
	J[26][9] =	   d117d9;
	J[26][10] =	   d117d10;
	J[26][11] =	   d117d11+d130d11;
	J[26][12] =	   -d114d12+d117d12+d130d12;
	J[26][13] =	   d112d13-d113d13+d117d13;
	J[26][14] =	   d117d14;
	J[26][15] =	   d117d15;
	J[26][16] =	   d117d16;
	J[26][17] =	   d117d17;
	J[26][18] =	   d117d18;
	J[26][19] =	   d117d19;
	J[26][20] =	   d117d20;
	J[26][21] =	   d117d21;
	J[26][22] =	   d117d22;
	J[26][23] =	   d115d23+d117d23;
	J[26][24] =	   d112d24+d115d24+d117d24;
	J[26][25] =	   d112d25-d113d25-d114d25+d117d25;
	J[26][26] =	   d112d26-d113d26-d114d26+d115d26+d117d26+d130d26+d133d26;
	J[26][27] =	   d115d27+d117d27;
	J[26][28] =	   d117d28;
	J[26][29] =	   d117d29+d130d29+d133d29;
	J[26][30] =	   d117d30;
	J[26][31] =	   d117d31;
	J[26][32] =	   d117d32;
	J[26][33] =	   d117d33;
	J[26][34] =	   d117d34;
	J[26][35] =	   d117d35;

	J[27][1] =	   0.0;
	J[27][2] =	   0.0;
	J[27][3] =	   0.0;
	J[27][4] =	   d127d4;
	J[27][5] =	   0.0;
	J[27][6] =	   d127d6;
	J[27][7] =	   0.0;
	J[27][8] =	   0.0;
	J[27][9] =	   0.0;
	J[27][10] =	   d149d10;
	J[27][11] =	   d126d11;
	J[27][12] =	   -d116d12+d126d12;
	J[27][13] =	   -d116d13+d151d13;
	J[27][14] =	   0.0;
	J[27][15] =	   0.0;
	J[27][16] =	   0.0;
	J[27][17] =	   0.0;
	J[27][18] =	   0.0;
	J[27][19] =	   0.0;
	J[27][20] =	   0.0;
	J[27][21] =	   0.0;
	J[27][22] =	   0.0;
	J[27][23] =	   d115d23+d151d23;
	J[27][24] =	   d115d24;
	J[27][25] =	   d149d25+d151d25;
	J[27][26] =	   d115d26;
	J[27][27] =	   d115d27-d116d27+d126d27+d127d27+d151d27;
	J[27][28] =	   -d116d28;
	J[27][29] =	   0.0;
	J[27][30] =	   0.0;
	J[27][31] =	   0.0;
	J[27][32] =	   d126d32+d127d32;
	J[27][33] =	   0.0;
	J[27][34] =	   0.0;
	J[27][35] =	   0.0;

	J[28][1] =	   -d117d1;
	J[28][2] =	   -d117d2-d118d2-d119d2;
	J[28][3] =	   -d117d3;
	J[28][4] =	   -d117d4+d125d4;
	J[28][5] =	   -d117d5+d129d5;
	J[28][6] =	   -d117d6+d123d6+d125d6+d128d6;
	J[28][7] =	   -d117d7;
	J[28][8] =	   -d117d8;
	J[28][9] =	   -d117d9;
	J[28][10] =	   -d117d10;
	J[28][11] =	   -d117d11-d120d11;
	J[28][12] =	   d116d12-d117d12-d118d12-d120d12+d128d12;
	J[28][13] =	   d116d13-d117d13-d119d13+d123d13+d129d13;
	J[28][14] =	   -d117d14;
	J[28][15] =	   -d117d15;
	J[28][16] =	   -d117d16;
	J[28][17] =	   -d117d17;
	J[28][18] =	   -d117d18;
	J[28][19] =	   -d117d19;
	J[28][20] =	   -d117d20;
	J[28][21] =	   -d117d21;
	J[28][22] =	   -d117d22;
	J[28][23] =	   -d117d23;
	J[28][24] =	   -d117d24;
	J[28][25] =	   -d117d25-d119d25;
	J[28][26] =	   -d117d26;
	J[28][27] =	   d116d27-d117d27;
	J[28][28] =	   d116d28-d117d28-d118d28-d119d28-d120d28+d123d28+d125d28+d128d28+d129d28;
	J[28][29] =	   -d117d29-d118d29;
	J[28][30] =	   -d117d30-d120d30+d123d30+d125d30;
	J[28][31] =	   -d117d31;
	J[28][32] =	   -d117d32+d128d32+d129d32;
	J[28][33] =	   -d117d33;
	J[28][34] =	   -d117d34;
	J[28][35] =	   -d117d35;

	J[29][1] =	   d121d1;
	J[29][2] =	   d118d2+d121d2;
	J[29][3] =	   d121d3+d124d3;
	J[29][4] =	   d121d4-d133d4+d139d4;
	J[29][5] =	   d121d5-d134d5;
	J[29][6] =	   d121d6-d132d6-d133d6-d136d6+d139d6;
	J[29][7] =	   d121d7;
	J[29][8] =	   d121d8;
	J[29][9] =	   d121d9;
	J[29][10] =	   d121d10;
	J[29][11] =	   d121d11-d130d11+d137d11;
	J[29][12] =	   d118d12+d121d12-d130d12-d131d12-d132d12-d135d12+d137d12;
	J[29][13] =	   d121d13+d124d13-d131d13-d134d13;
	J[29][14] =	   d121d14;
	J[29][15] =	   d121d15;
	J[29][16] =	   d121d16;
	J[29][17] =	   d121d17;
	J[29][18] =	   d121d18;
	J[29][19] =	   d121d19;
	J[29][20] =	   d121d20;
	J[29][21] =	   d121d21;
	J[29][22] =	   d121d22;
	J[29][23] =	   d121d23;
	J[29][24] =	   d121d24-d136d24;
	J[29][25] =	   d121d25-d131d25-d135d25-d136d25;
	J[29][26] =	   d121d26-d130d26-d133d26;
	J[29][27] =	   d121d27;
	J[29][28] =	   d118d28+d121d28;
	J[29][29] =	   d118d29+d121d29+d124d29-d130d29-d131d29-d132d29-d133d29-d134d29-d135d29-d136d29+d137d29+d139d29;
	J[29][30] =	   d121d30+d124d30;
	J[29][31] =	   d121d31+d137d31+d139d31;
	J[29][32] =	   d121d32;
	J[29][33] =	   d121d33-d132d33-d134d33;
	J[29][34] =	   d121d34-d135d34;
	J[29][35] =	   d121d35;

	J[30][1] =	   -d121d1;
	J[30][2] =	   -d121d2-d122d2;
	J[30][3] =	   -d121d3-d124d3;
	J[30][4] =	   -d121d4-d125d4;
	J[30][5] =	   -d121d5;
	J[30][6] =	   -d121d6-d123d6-d125d6;
	J[30][7] =	   -d121d7;
	J[30][8] =	   -d121d8+d150d8;
	J[30][9] =	   -d121d9;
	J[30][10] =	   -d121d10;
	J[30][11] =	   d120d11-d121d11;
	J[30][12] =	   d120d12-d121d12-d122d12+d150d12;
	J[30][13] =	   -d121d13-d123d13-d124d13;
	J[30][14] =	   -d121d14;
	J[30][15] =	   -d121d15;
	J[30][16] =	   -d121d16;
	J[30][17] =	   -d121d17;
	J[30][18] =	   -d121d18;
	J[30][19] =	   -d121d19;
	J[30][20] =	   -d121d20;
	J[30][21] =	   -d121d21;
	J[30][22] =	   -d121d22;
	J[30][23] =	   -d121d23;
	J[30][24] =	   -d121d24;
	J[30][25] =	   -d121d25+d150d25;
	J[30][26] =	   -d121d26;
	J[30][27] =	   -d121d27;
	J[30][28] =	   d120d28-d121d28-d123d28-d125d28;
	J[30][29] =	   -d121d29-d124d29;
	J[30][30] =	   d120d30-d121d30-d122d30-d123d30-d124d30-d125d30+d150d30;
	J[30][31] =	   -d121d31-d122d31;
	J[30][32] =	   -d121d32;
	J[30][33] =	   -d121d33;
	J[30][34] =	   -d121d34;
	J[30][35] =	   -d121d35;

	J[31][1] =	   0.0;
	J[31][2] =	   d122d2;
	J[31][3] =	   0.0;
	J[31][4] =	   -d139d4-d140d4;
	J[31][5] =	   0.0;
	J[31][6] =	   -d139d6-d141d6;
	J[31][7] =	   0.0;
	J[31][8] =	   0.0;
	J[31][9] =	   0.0;
	J[31][10] =	   0.0;
	J[31][11] =	   -d137d11;
	J[31][12] =	   d122d12-d137d12-d138d12;
	J[31][13] =	   -d138d13;
	J[31][14] =	   0.0;
	J[31][15] =	   0.0;
	J[31][16] =	   0.0;
	J[31][17] =	   0.0;
	J[31][18] =	   0.0;
	J[31][19] =	   0.0;
	J[31][20] =	   0.0;
	J[31][21] =	   0.0;
	J[31][22] =	   0.0;
	J[31][23] =	   0.0;
	J[31][24] =	   -d140d24;
	J[31][25] =	   -d140d25-d141d25;
	J[31][26] =	   0.0;
	J[31][27] =	   0.0;
	J[31][28] =	   0.0;
	J[31][29] =	   -d137d29-d139d29;
	J[31][30] =	   d122d30;
	J[31][31] =	   d122d31-d137d31-d138d31-d139d31-d140d31-d141d31;
	J[31][32] =	   0.0;
	J[31][33] =	   -d138d33;
	J[31][34] =	   0.0;
	J[31][35] =	   -d141d35;

	J[32][1] =	   0.0;
	J[32][2] =	   0.0;
	J[32][3] =	   0.0;
	J[32][4] =	   -d127d4;
	J[32][5] =	   -d129d5;
	J[32][6] =	   -d127d6-d128d6;
	J[32][7] =	   0.0;
	J[32][8] =	   0.0;
	J[32][9] =	   0.0;
	J[32][10] =	   0.0;
	J[32][11] =	   -d126d11;
	J[32][12] =	   -d126d12-d128d12;
	J[32][13] =	   -d129d13;
	J[32][14] =	   0.0;
	J[32][15] =	   0.0;
	J[32][16] =	   0.0;
	J[32][17] =	   0.0;
	J[32][18] =	   0.0;
	J[32][19] =	   0.0;
	J[32][20] =	   0.0;
	J[32][21] =	   0.0;
	J[32][22] =	   0.0;
	J[32][23] =	   0.0;
	J[32][24] =	   0.0;
	J[32][25] =	   0.0;
	J[32][26] =	   0.0;
	J[32][27] =	   -d126d27-d127d27;
	J[32][28] =	   -d128d28-d129d28;
	J[32][29] =	   0.0;
	J[32][30] =	   0.0;
	J[32][31] =	   0.0;
	J[32][32] =	   -d126d32-d127d32-d128d32-d129d32;
	J[32][33] =	   0.0;
	J[32][34] =	   0.0;
	J[32][35] =	   0.0;

	J[33][1] =	   -d146d1;
	J[33][2] =	   -d146d2;
	J[33][3] =	   -d146d3;
	J[33][4] =	   -d146d4-d148d4;
	J[33][5] =	   d134d5-d146d5;
	J[33][6] =	   d132d6-d146d6-d148d6;
	J[33][7] =	   -d146d7;
	J[33][8] =	   -d146d8;
	J[33][9] =	   -d146d9;
	J[33][10] =	   -d146d10;
	J[33][11] =	   -d146d11-d147d11;
	J[33][12] =	   d132d12+d138d12-d146d12-d147d12;
	J[33][13] =	   d134d13+d138d13-d146d13;
	J[33][14] =	   -d146d14;
	J[33][15] =	   -d146d15;
	J[33][16] =	   -d146d16;
	J[33][17] =	   -d146d17;
	J[33][18] =	   -d146d18;
	J[33][19] =	   -d146d19;
	J[33][20] =	   -d146d20;
	J[33][21] =	   -d146d21;
	J[33][22] =	   -d146d22;
	J[33][23] =	   -d146d23;
	J[33][24] =	   -d146d24;
	J[33][25] =	   -d146d25-d147d25-d148d25;
	J[33][26] =	   -d146d26;
	J[33][27] =	   -d146d27;
	J[33][28] =	   -d146d28;
	J[33][29] =	   d132d29+d134d29-d146d29;
	J[33][30] =	   -d146d30;
	J[33][31] =	   d138d31-d146d31;
	J[33][32] =	   -d146d32;
	J[33][33] =	   d132d33+d134d33+d138d33-d146d33-d147d33-d148d33;
	J[33][34] =	   -d146d34;
	J[33][35] =	   -d146d35;

	J[34][1] =	   -d152d1;
	J[34][2] =	   -d152d2;
	J[34][3] =	   -d152d3;
	J[34][4] =	   -d152d4;
	J[34][5] =	   -d152d5;
	J[34][6] =	   -d152d6-d153d6-d155d6;
	J[34][7] =	   -d152d7-d155d7;
	J[34][8] =	   -d152d8;
	J[34][9] =	   -d152d9;
	J[34][10] =	   -d152d10;
	J[34][11] =	   -d152d11;
	J[34][12] =	   d135d12+d144d12-d152d12-d153d12;
	J[34][13] =	   d144d13-d152d13-d154d13;
	J[34][14] =	   -d152d14;
	J[34][15] =	   -d152d15;
	J[34][16] =	   -d152d16;
	J[34][17] =	   -d152d17;
	J[34][18] =	   -d152d18;
	J[34][19] =	   -d152d19;
	J[34][20] =	   -d152d20;
	J[34][21] =	   -d152d21;
	J[34][22] =	   -d152d22;
	J[34][23] =	   -d152d23;
	J[34][24] =	   -d152d24-d153d24-d155d24;
	J[34][25] =	   d135d25-d152d25-d154d25;
	J[34][26] =	   -d152d26;
	J[34][27] =	   -d152d27;
	J[34][28] =	   -d152d28;
	J[34][29] =	   d135d29-d152d29;
	J[34][30] =	   -d152d30;
	J[34][31] =	   -d152d31;
	J[34][32] =	   -d152d32;
	J[34][33] =	   -d152d33;
	J[34][34] =	   d135d34+d144d34-d152d34-d153d34-d154d34-d155d34;
	J[34][35] =	   d144d35-d152d35;

	J[35][1] =	   0.0;
	J[35][2] =	   0.0;
	J[35][3] =	   0.0;
	J[35][4] =	   -d145d4;
	J[35][5] =	   0.0;
	J[35][6] =	   d141d6-d145d6;
	J[35][7] =	   0.0;
	J[35][8] =	   0.0;
	J[35][9] =	   0.0;
	J[35][10] =	   0.0;
	J[35][11] =	   -d143d11;
	J[35][12] =	   -d142d12-d143d12-d144d12;
	J[35][13] =	   -d144d13;
	J[35][14] =	   0.0;
	J[35][15] =	   0.0;
	J[35][16] =	   0.0;
	J[35][17] =	   0.0;
	J[35][18] =	   0.0;
	J[35][19] =	   0.0;
	J[35][20] =	   0.0;
	J[35][21] =	   0.0;
	J[35][22] =	   0.0;
	J[35][23] =	   0.0;
	J[35][24] =	   -d142d24-d143d24-d145d24;
	J[35][25] =	   d141d25;
	J[35][26] =	   0.0;
	J[35][27] =	   0.0;
	J[35][28] =	   0.0;
	J[35][29] =	   0.0;
	J[35][30] =	   0.0;
	J[35][31] =	   d141d31;
	J[35][32] =	   0.0;
	J[35][33] =	   0.0;
	J[35][34] =	   -d144d34;
	J[35][35] =	   d141d35-d142d35-d143d35-d144d35-d145d35;
}